cvs commit: src/sys/kern sched_ule.c
caelian at gmail.com
Sat Nov 6 03:22:58 GMT 2004
On Sat, 30 Oct 2004 07:35:53 +0000 (UTC), Jeff Roberson
<jeff at freebsd.org> wrote:
> jeff 2004-10-30 07:35:53 UTC
> FreeBSD src repository
> Modified files:
> sys/kern sched_ule.c
> - In sched_prio() check to see if the kse is assigned to a runq as the
> check for TD_ON_RUNQ() no longer means the thread is really on a run-
> queue. I suspect this state should be re-evaluated as it must mean
> something else now. This fixes ULE+KSE+PREEMPTION on UP x86.
I decided to take this commit as a good moment to give SCHED_ULE +
PREEMPTION a shot again in the hope of triggering potential bugs to
further improve SCHED_ULE. And i must say ... without
INVARIANTS/WITNESS ... SCED_ULE + PREEMPTION == SOLID ... No Panics
for well over 2 days during general desktop usage and compilation.
I then decided to give it a real stress-test and decided to also
enable WITNESS, INVARIANTS and FULL_PREEMPTION. This combination
seemed just as stable at first ... untill i decided to shutdown
Firefox .. which caused a system panic with the famous "Negative nice
count" KASSERT from kern/sched_ule.c
I did some additional testing and so far it seems that Every threaded
application seems to exhibit this panic upon exit. I don't have an
actual kerneldump at the moment ... but i should be able to generate
one and provide additional information and/or a backtrace if desired.
To reproduce simply exit a multi-threaded application ... firefox,
ogg123 and apache-worker all caused the same panic.
This is on a UP P2-400 MHz running 6.0-CURRENT as of November 3rd or 4th,
With kind regard,
More information about the cvs-src