Re: [Lse-tech] [PATCH] cpusets - big numa cpu and memory placement

Martin J. Bligh
2004-10-03T14:39:34Z

>> The O(1) scheduler today does not know about cpumem sets. It operates
>> on the level of affinity masks to adhere to the constraints specified
>> based on cpu masks.
>
> This is where I see the need for "CPU sets". I.e. as a
> replacement/modification to the CPU affinity mechanism basically adding
> an extra level of abstraction to make it easier to use for implementing
> the type of isolation that people seem to want. I say this because,
> strictly speaking and as you imply, the current affinity mechanism is
> sufficient to provide that isolation BUT it would be a huge pain to
> implement.

The way cpusets uses the current cpus_allowed mechanism is, to me, the most
worrying thing about it. Frankly, the cpus_allowed thing is kind of tacked
onto the existing scheduler, and not at all integrated into it, and doesn't
work well if you use it heavily (eg bind all the processes to a few CPUs,
and watch the rest of the system kill itself).

Matt had proposed having a separate sched_domain tree for each cpuset, which
made a lot of sense, but seemed harder to do in practice because "exclusive"
in cpusets doesn't really mean exclusive at all. Even if we don't have
separate sched_domain trees, cpusets could be the top level in the master
tree, I think.

M.