Source-Changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
CVS commit: [wrstuden-revivesa] src/sys/kern
Module Name: src
Committed By: wrstuden
Date: Sun Jun 29 05:26:02 UTC 2008
Modified Files:
src/sys/kern [wrstuden-revivesa]: kern_sa.c
Log Message:
sa_upcall_userret(): in a debug message, indicate if there are upcalls
and/or waiting threads.
sa_makeupcalls(): don't call kmem_alloc() with savp_mutex locked.
Among other things, it's the lock for a number of lwps, so bad things
happen in the vm system.
sa_unblock_userret(): Don't call spc_(un,}lock() when we want to
nudge the blessed lwp in the case when it's on another CPU's
run queue. We already have that lwp locked, which, as I understand
our current locking, means we have implicitly called spc_lock(vp_lwp->l_cpu);
Also in sa_unblock_userret(): When we sleep, make our sleep interruptable
(LW_SINTR) and actually record the fact we're sleeping. Upcalls are
much more likely to happen if the upcall code knows we're waiting for an
UNBLOCKED upcall. :-)
To generate a diff of this commit:
cvs rdiff -r1.91.2.28 -r1.91.2.29 src/sys/kern/kern_sa.c
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