Messages in this thread |  | | Date | Thu, 9 Feb 2012 16:11:58 +0100 | From | Ingo Molnar <> | Subject | Re: [PATCH 0/4] CPU hotplug, cpusets: Fix CPU online handling related to cpusets |
| |
* Srivatsa S. Bhat <srivatsa.bhat@linux.vnet.ibm.com> wrote:
> Hi Ingo, > > On 02/09/2012 01:27 PM, Ingo Molnar wrote: > > > > > * Srivatsa S. Bhat <srivatsa.bhat@linux.vnet.ibm.com> wrote: > > > >> IOW, consider: > >> > >> cpuset A has 0-10 > >> > >> - Take CPU 10 offline > >> [We are forced to remove CPU 10 from cpuset A, which becomes 0-9 now] > >> > >> > >> <Userspace didn't request any change to cpuset A> > >> > >> > >> - Bring back CPU 10 online > >> > >> Now cpuset A is still 0-9! IMO, it should have been 0-10. > > > > Why is CPU 10 taken out of the cpuset to begin with? > > > > The cpuset code should be fixed to work with offline CPUs as > > well - it can obviously not schedule to them, but otherwise > > it should be fine to have a wider cpuset than the hw can > > support. > > My understanding of the code is that when a CPU is taken > offline, it is removed from all the cpusets and then the > scan_for_empty_cpusets() function is run to move tasks from > empty cpusets to their parent cpusets.
Why is that done that way? offlining a CPU should be an invariant as far as cpusets are concerned.
Not touching the cpuset would avoid the hot-replug complications as well.
Thanks,
Ingo
|  |