Re: latest linus-2.5 BK broken

Rusty Russell (rusty@rustcorp.com.au)
Wed, 19 Jun 2002 06:13:44 +1000


In message <20020618152949.B16091@redhat.com> you write:
> On Wed, Jun 19, 2002 at 04:51:31AM +1000, Rusty Russell wrote:
> > You could do a loop here, but the real problem is the broken userspace
> > interface. Can you fix this so it takes a single CPU number please?
> >
> > ie.
> > /* -1 = remove affinity */
> > sys_sched_setaffinity(pid_t pid, int cpu);
> >
> > This will work everywhere, and doesn't require userspace to know the
> > size of the cpu bitmask etc.
>
> That doesn't work. Think of SMT CPU pairs (aka HyperThreading) or
> quads that share caches.

This is the NUMA "I want to be in this group" problem. If you're
serious about this, you'll go for a sys_sched_groupaffinity call, or
add an extra arg to sys_sched_setaffinity, or simply use the top 16
bits of the cpu arg.

You will also add /proc/cpugroups or something to export this
information to users so there's a point.

Sorry, the current interface is insufficient for NUMA *and* is
impossible[1] for the user to use correctly.

Rusty.
[1] Defined as "too hard for them to ever do it properly"

--
  Anyone who quotes me in their sig is an idiot. -- Rusty Russell.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/