Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 12 Nov 2001 15:06:07 -0800
From:      Terry Lambert <tlambert2@mindspring.com>
To:        Alfred Perlstein <bright@mu.org>
Cc:        "Andrew R. Reiter" <arr@FreeBSD.org>, Hiroharu Tamaru <tamaru@myn.rcast.u-tokyo.ac.jp>, freebsd-smp@FreeBSD.org, John Baldwin <jhb@FreeBSD.org>
Subject:   Re: cpu affinity
Message-ID:  <3BF055DF.E56B5E84@mindspring.com>
References:  <sa6g07jdib6.wl@ring.myn.rcast.u-tokyo.ac.jp> <Pine.NEB.3.96L.1011112124127.28029D-100000@fledge.watson.org> <20011112115942.N89342@elvis.mu.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Alfred Perlstein wrote:
> >   psctl --move --process=<pid> --cpu-location=host:cpu#
> >
> > Im not sure how useful this would be for anyone outside myself to use, but
> > would be interesting to see what we could do with SMP and KSE as things
> > become stable later on.  Like I said, I believe this work has already been
> > done, but imo is something interesting nevertheless.
> 
> I've done this work and proved a small but measurable performance
> improvement using my method.
> 
> http://people.freebsd.org/~alfred/bind_cpu.diff
> 
> I'm not sure if that's the one that'll work ATM, i know that KSE
> most likely broke it and it doesn't include my patch to psctl to
> fiddle the boundness of a process.  I'll try to look it up again.

Alfred's patches are very close to the correct solution; he
leaves all the processes in a global run queue, though, which
puts them into the same contention domain, so he implements
CPU locking, rather than true affinity.

Probably the canonically correct approach is the one used by
SGI, Cray, Sequent, and others, which is to have per CPU
(or per node, in the NUMA case) run queues, and then don't
migrate the processes between them except under exceptional
circumstances.

-- Terry

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-smp" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3BF055DF.E56B5E84>