unexpected idprio 31 behavior on 9.2-BETA2 and 9.2-RC1

Andriy Gapon avg at FreeBSD.org
Wed Aug 7 09:09:47 UTC 2013


on 06/08/2013 00:15 Dave Mischler said the following:
> I have an i5-2500 machine 8GB RAM now running 9.2-RC1 amd64 with the
> GENERIC kernel. Today, while still running 9.2-BETA2, I updated my
> source tree and started building world with idprio 31 and I looked back
> a while later and all the CPU cores and disk were essentially idle, and
> hardly any progress had been made on the build. I stopped and restarted
> the build without the idle priority setting and it ran fine. Anybody
> else seen any of this? Anybody know about any fairly recent changes that
> might account for it?
> 
> I did a "rm -rf /usr/src /usr/obj" and loaded a new source tree before
> going to RC1.  I still see odd behavior at RC1.  Sometimes it works just
> like it should (i.e. compute bound processes use most/all of the
> available CPU time), but a lot of the time both the CPU and disk are
> idle (e.g. CPU 97.8% idle, disk 1% busy per systat).  I don't think I
> ever saw this behavior before while running "make buildworld -j4".  Can
> anyone else confirm/rebut my findings?  Thanks.

Are you sure that you really want to use idprio for a goal you want to achieve?
If yes, are you sure that you want to use idprio 31 specifically?
With sched_ule idprio 31 is equivalent to priority of a completely idle system.
 So the scheduler is in its right to run the idle ("do nothing") thread instead
of your thread(s).

P.S.
https://wiki.freebsd.org/AvgThreadPriorityRanges
-- 
Andriy Gapon


More information about the freebsd-stable mailing list