Source-Changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
CVS commit: [vmlocking] src/sys
Module Name: src
Committed By: yamt
Date: Sun Aug 19 22:10:15 UTC 2007
Modified Files:
src/sys/kern [vmlocking]: kern_exit.c kern_proc.c
src/sys/sys [vmlocking]: proc.h
Log Message:
proc_free: release proclist_lock earlier as suggested by Andrew Doran.
calling lwp_free with the lock held leads a deadlock.
1. CPU1: do_sys_wait -> lwp_free busy-waits for an LWP exiting on CPU2,
holding proclist_lock.
2. CPU2: the exiting LWP is interrupted by softclock.
3. CPU2: softclock -> sched_pstats tries to acquire proclist_lock.
it also busy-waits because the owning LWP is running.
To generate a diff of this commit:
cvs rdiff -r1.169.2.10 -r1.169.2.11 src/sys/kern/kern_exit.c
cvs rdiff -r1.107.2.11 -r1.107.2.12 src/sys/kern/kern_proc.c
cvs rdiff -r1.243.2.4 -r1.243.2.5 src/sys/sys/proc.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