NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

PR/38707 CVS commit: src/sys



The following reply was made to PR kern/38707; it has been noted by GNATS.

From: Andrew Doran <ad%netbsd.org@localhost>
To: gnats-bugs%gnats.NetBSD.org@localhost
Cc: 
Subject: PR/38707 CVS commit: src/sys
Date: Tue, 27 May 2008 14:48:52 +0000 (UTC)

 Module Name:   src
 Committed By:  ad
 Date:          Tue May 27 14:48:52 UTC 2008
 
 Modified Files:
        src/sys/kern: kern_idle.c kern_runq.c
        src/sys/sys: idle.h sched.h
 
 Log Message:
 PR kern/38707 scheduler related deadlock during build.sh
 
 - Fix performance regression inroduced by the workaround by making job
   stealing a lot simpler: if the local run queue is empty, let the CPU enter
   the idle loop. In the idle loop, try to steal a job from another CPU's run
   queue if we are idle. If we succeed, re-enter mi_switch() immediatley to
   dispatch the job.
 
 - When stealing jobs, consider a remote CPU to have one less job in its
   queue if it's currently in the idle loop. It will dispatch the job soon,
   so there's no point sloshing it about.
 
 - Introduce a few event counters to monitor what's happening with the run
   queues.
 
 - Revert the idle CPU bitmap change. It's pointless considering NUMA.
 
 
 To generate a diff of this commit:
 cvs rdiff -r1.17 -r1.18 src/sys/kern/kern_idle.c
 cvs rdiff -r1.9 -r1.10 src/sys/kern/kern_runq.c
 cvs rdiff -r1.3 -r1.4 src/sys/sys/idle.h
 cvs rdiff -r1.56 -r1.57 src/sys/sys/sched.h
 
 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.
 


Home | Main Index | Thread Index | Old Index