Srikar Dronamraju <sri...@linux.vnet.ibm.com> writes: >> Regardless, I have an annoying question :-) Isn't it possible that, >> while Linux is calling vphn_get_nid() for each logical cpu in sequence, >> the platform could change a virtual processor's node assignment, >> potentially causing sibling threads to get different node assignments >> and producing an incoherent topology (which then leads to sched domain >> assertions etc)? >> > > Right, its certainly possible for node assignment to change while we iterate > through the siblings. Do you have an recommendations? > >> If so, I think more care is needed. The algorithm should make the vphn >> call only once per cpu node, I think? > > I didn't get "once per cpu node", How do we know which all cpus are part of > that cpu node? Or did you mean once per cpu core?
Sorry, "node" is overloaded in this context. I meant once per cpu device node from the device tree, each of which I believe corresponds to a core, yes.