Re: SMP: bind process to cpu

From: Manfred Spraul (manfred@colorfullife.com)
Date: Sat Feb 17 2001 - 09:13:45 EST

  • Next message: J . A . Magallon: "Re: [PATCH] a more efficient BUG() macro"

    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/
    



    This archive was generated by hypermail 2b29 : Sat Feb 17 2001 - 09:14:37 EST