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>