Module Name: src Committed By: pooka Date: Wed Dec 1 14:59:39 UTC 2010
Modified Files: src/lib/librumpuser: rumpuser_pth.c src/sys/rump/include/rump: rumpuser.h src/sys/rump/librump/rumpkern: intr.c klock.c locks.c ltsleep.c rump.c rump_private.h Log Message: Track lwp as the rumpuser mutex owner instead of pthread_t (this is done in rumpuser for simplicity, since on the kernel side things we assume we have only one pointer of space). As a side-effect, we can no longer know if the current thread is holding on to a mutex locked without curlwp context (basically all mutexes inited outside of mutex_init()). The only thing that called rumpuser_mutex_held() for a non-kmutex was the giant lock. So, instead implement recursive locking for the giant lock in the rump kernel and get rid of the now-unused recursive pthread mutex in the hypercall interface. To generate a diff of this commit: cvs rdiff -u -r1.3 -r1.4 src/lib/librumpuser/rumpuser_pth.c cvs rdiff -u -r1.54 -r1.55 src/sys/rump/include/rump/rumpuser.h cvs rdiff -u -r1.34 -r1.35 src/sys/rump/librump/rumpkern/intr.c cvs rdiff -u -r1.2 -r1.3 src/sys/rump/librump/rumpkern/klock.c cvs rdiff -u -r1.42 -r1.43 src/sys/rump/librump/rumpkern/locks.c cvs rdiff -u -r1.27 -r1.28 src/sys/rump/librump/rumpkern/ltsleep.c cvs rdiff -u -r1.207 -r1.208 src/sys/rump/librump/rumpkern/rump.c cvs rdiff -u -r1.64 -r1.65 src/sys/rump/librump/rumpkern/rump_private.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.