Breaks up the proc_lock to use the mm_lock
authorBarret Rhoden <brho@cs.berkeley.edu>
Fri, 16 Sep 2011 23:01:02 +0000 (16:01 -0700)
committerKevin Klues <klueska@cs.berkeley.edu>
Thu, 3 Nov 2011 00:36:07 +0000 (17:36 -0700)
commit5d7821592e8560ae9a0ec42879b537326512782e
treeb48029ef0e8df063eddf93ab8d6998864f79cb14
parentcf0371a1f9cf06e7f4af1a0f06a1f3919841473c
Breaks up the proc_lock to use the mm_lock

While this has been needed for a long time, it now is critical due to
event code holding the proc_lock and then posting an INDIR (which may
mmap()).  It's a fairly rare condition (which I didn't get yet), but it
will deadlock.

As it is now, we're okay, so long as our mmap() call doesn't try a
tlbshootdown (which needs the proclock for now).
kern/include/env.h
kern/include/mm.h
kern/include/process.h
kern/src/event.c
kern/src/mm.c
kern/src/process.c
kern/src/ucq.c