Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 14 Aug 2003 20:17:33 -0400 (EDT)
From:      Andrew Gallatin <gallatin@cs.duke.edu>
To:        "Adam Migus" <adam@migus.org>
Cc:        current@freebsd.org
Subject:   Re: make buildkernel hang with SCHED_ULE
Message-ID:  <16188.9885.685630.274388@grasshopper.cs.duke.edu>
In-Reply-To: <52019.192.168.4.2.1060657784.squirrel@mail.migus.org>
References:  <52019.192.168.4.2.1060657784.squirrel@mail.migus.org>

next in thread | previous in thread | raw e-mail | index | archive | help

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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?16188.9885.685630.274388>