Subject: Re: auto-spl simple locks
To: Chuck Silvers <chuq@chuq.com>
From: Jason Thorpe <thorpej@nas.nasa.gov>
List: tech-smp
Date: 07/30/1999 08:32:42
On Fri, 30 Jul 1999 08:15:54 -0700
Chuck Silvers <chuq@chuq.com> wrote:
> ok, so what's this pmap problem?
When you're holding the kernel pmap's lock, you must go to splimp(),
otherwise, an interrupt could cause you to deadlock.
> storing the old spl level in the lock like this adds the constraint that
> locks must be released in the reverse order of that in which they were
> acquired. it also requires either that the spl level used for a lock be
> greater than or equal to the spl level used for any locks aquired before
> it, or that splraise() semantics be used for all levels in cpu_lock_spl().
> if we conclude that these constraints are acceptable, they should be
> enforced by LOCKDEBUG.
Hrm. Yes, you're correct. Ok, so I'm becoming inclined to abandon this
approach, and just add the spl*() calls explicitly, as appropriate.
-- Jason R. Thorpe <thorpej@nas.nasa.gov>