Re: make buildkernel hang with SCHED_ULE

From: Andrew Gallatin <gallatin_at_cs.duke.edu>
Date: Thu, 14 Aug 2003 20:17:33 -0400 (EDT)
Adam Migus writes:
 > Folks,
 > While doing some performance analysis (doing make -j5 buildkernel)
 > on a set of 14 kernels I've hit one using the SCHED_ULE scheduler
 > that hangs.   It happens every time but not necessarily in the same
 > place in the make.
 > 

<...>

 > The hardware is a dual Xeon box.  The kernel is SMP w/ SCHED_ULE
 > instead of SCHED_4BSD, the options required for diskless and the
 > following two options:

You have machdep.hlt_logical_cpus: 1 in your sysctl output.  [BTW,
lots of people read this mail via the web archives at
http://docs.freebsd.org/cgi/getmsg.cgi?fetch=1073654+0+current/freebsd-current,
where its impossible to view mime; it would be MUCH better for us if
appended things like stack traces and sysctl output rather then
scrambling them for no reason]

SCHED_ULE is incompatible with halting logical CPUs.  Something about
it does't know the core isn't running, so it schedules a job there
which never runs, and then it gets confused.  When I boot a 1 CPU P4
with an SMP kernel and machdep.hlt_logical_cpus=1, it hangs before
making it to multiuser mode..

Try setting machdep.hlt_logical_cpus=0 (via sysctl now, and in
/boot/loader.conf so it doesn't happen again).


Drew
Received on Thu Aug 14 2003 - 15:17:40 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:18 UTC