Messages in this thread | | | From | Rusty Russell <> | Subject | Re: latest linus-2.5 BK broken | Date | 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/
| |