Re: [PATCH 0/4] CPU hotplug, cpusets: Fix CPU online handlingrelated to cpusets

From: Ingo Molnar
Date: Thu Feb 09 2012 - 10:12:32 EST



* Srivatsa S. Bhat <srivatsa.bhat@xxxxxxxxxxxxxxxxxx> wrote:

> Hi Ingo,
>
> On 02/09/2012 01:27 PM, Ingo Molnar wrote:
>
> >
> > * Srivatsa S. Bhat <srivatsa.bhat@xxxxxxxxxxxxxxxxxx> 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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/