SCHED_ULE should not be the default

Gary Jennejohn gljennjohn at googlemail.com
Tue Dec 20 09:30:00 UTC 2011


On Mon, 19 Dec 2011 23:22:40 +0200
Andriy Gapon <avg at FreeBSD.org> wrote:

> on 19/12/2011 17:50 Nathan Whitehorn said the following:
> > The thing I've seen is that ULE is substantially more enthusiastic about
> > migrating processes between cores than 4BSD.
> 
> Hmm, this seems to be contrary to my theoretical expectations.  I thought that
> with 4BSD all threads that were not in one of the following categories:
> - temporary pinned
> - bound to cpu in kernel via sched_bind
> - belong to a cpu set which a strict subset of a total set
> were placed onto a common queue that was shared by all cpus.  And as such I
> expected them to get picked up by the cpus semi-randomly.
> 
> In other words, I thought that it was ULE that took into account cpu/cache
> affinities while 4BSD was deliberately entirely ignorant of those details.
> 

I have a 6-core AMD CPU running FreeeBSD 10.0 and SCHED_4BSD.

I've noticed with large ports builds which are not MAKE_JOBS_SAFE that
the compile load migrates between the cores pretty quickly, but I haven't
compared it to ULE.

-- 
Gary Jennejohn


More information about the freebsd-current mailing list