Subject: re: MP Alpha kernels go multi-user
To: None <email@example.com>
From: matthew green <firstname.lastname@example.org>
Date: 04/21/2001 12:54:56
Now consider a system call of page fault on the other CPU that causes
pmap_enter() to be called, which tries to acquire the map->pvhead lock
direction (note it's already holding kernel_lock).
Now you're screwed -- one cpu did "kernel_lock -> pmap_lock" and the
other did "pmap_lock -> kernel_lock". Deadlock.
Sigh, guess I have to put pmap_emulate_reference() in the kernel_lock
perimeter for now (until kernel_lock is no longer required by interrupt
i came across similiar issues in the sparc pmap while i was adding
locking around parts of it... i need to re-think how locking works
in there i think.
ps. you rule.