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