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-performance
mailing list