Re: latest linus-2.5 BK broken

Michael Hohnbaum
2002-06-18T23:39:04Z

On Tuesday, June 18 2002, Linus Torvalds wrote:

> On Wed, 19 Jun 2002, Rusty Russell wrote:
>
> NO. They want to be node-affine. They don't want to specify what
> CPUs they attach to.
>
> So you're going to have separate interfaces for that? Gag me with a
> volvo, but that's idiotic.
>
> Besides, even that would be broken. You want bitmaps, because bitmaps
> is really what it is all about. It's NOT about "I must run on this
> CPU", it can equally well be "I mustn't run on those two CPU's that
> are hosting the RT part of this thing" or something like that.
>
> Linus

A bit mask is a very good choice for the sched_setaffinity()
interface. I would suggest an additional argument be added
which would indicate the resource that the process is to be
affined to. That way this interface could be used for binding
processes to cpus, memory nodes, perhaps NUMA nodes, and,
as discussed recently in another thread, other processes.
Personally, I see NUMA nodes as an overkill, if a process
can be bound to cpus and memory nodes.

There has been an effort made to address the needs for binding
processes to processors, memory nodes, etc. for NUMA machines.
A proposed API has been developed and implemented. See
http://lse.sourceforge.net/numa/numa_api.html for a spec on
the API. Matt Dobson has posted the implementation to lkml
as a patch against 2.5 several times, but has not seen much
discussion. I could see much of the capabilities provided
in the NUMA API being provided through the sched_setaffinity()
as described above.

Michael Hohnbaum
hohnbaum@us.ibm.com