On Fri, 2013-04-05 at 13:22 -0500, Nathan Fontenot wrote: > Agreed, having to call stop_machine() for each cpu that gets updated is > pretty brutal. The plus side is that PRRN events should a rare occurrence > and not cause too much pain.
So that doesn't happen on VPHN changes ? > The current design ties into the of notification chain so that we can do > the affinity update when the affinity property in the device tree is updated. > Switching to doing one stop and updating all of the cpus would require a > design change....and.... > > I went back and looked at the code again and there is another issue with > way this is done. Tying into the of notification chain is great for > being informed of when a property changes but the code (from patch 6/11) > > + case OF_RECONFIG_ADD_PROPERTY: > + case OF_RECONFIG_UPDATE_PROPERTY: > + update = (struct of_prop_reconfig *)data; > + if (!of_prop_cmp(update->dn->type, "cpu")) { > + u32 core_id; > + of_property_read_u32(update->dn, "reg", &core_id); > + stage_topology_update(core_id); > + rc = NOTIFY_OK; > + } > + break; > > Does not check to see which property is being updated and just assumes > the affinity is being updated. This code as is will do an affinity update > every time any property of a cpu is updated or added. > > Since this needs an update I will also look at possibly doing this so > that we call stop_machine only once. Any new patch set ? Cheers, Ben. _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev