Re: SMP: bind process to cpu

Manfred Spraul (manfred@colorfullife.com)
Sat, 17 Feb 2001 15:13:45 +0100


Christoph Hellwig wrote:
>
> In article <BGEDIODHBENLENEMBEPAEEDFCAAA.thomas.widmann@icn.siemens.de> you wrote:
> > Hi,
> >
> > I run an 3*XEON 550MHz Primergy with 2GB of RAM.
> > On this machine, i have compiled kernel 2.4.0SMP.
> >
> > Is it possible to bind a process to a specific
> > cpu on this SMP machine (process affinity) ?
>
> Linux 2.4 is mostlu ready for process affinity, but it is not (yet)
> exported to userspace. I've attached at patch by Nick Pollitt from SGI
> that allows to enable process pinning using prctl().
>
> > I there something like pset ?
>
> I've seen patches for SGI-like psets for 2.2.<something>, but not for 2.4.
>
> Christoph
>
You must also update wake_process_synchroneous(), otherwise you can get
lost wakeups with pipes.

Something like

> if (!(p->cpus_allowed & (1 << smp_processor_id()))
> reschedule_idle(p);

must be added after add_to_runqueue().

Ingo Molnar did some testing with tux2, and under high load wakeups were
lost without such a patch.

--
	Manfred
-
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/