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/
This archive was generated by hypermail 2b29 : Sun Jun 23 2002 - 22:00:17 EST