Subject: Re: nesting simple_lock and spl*?
To: David Laight <david@l8s.co.uk>
From: Jason R Thorpe <thorpej@wasabisystems.com>
List: tech-kern
Date: 05/25/2002 13:40:34
On Sat, May 25, 2002 at 08:59:20PM +0100, David Laight wrote:

 > I found some problems with the 'solaris' semantics of saving the spl
 > level within the mutex, the 'SVR4' semantics where the spl level
 > is returned to the user are more flexible.

Some say "flexible", others say "error-prone".

 > 	pl1 = read_lock( table_lock )
 > 	entry = search_table( key );
 > 	pl2 = lock( entry->lock );
 > 	unlock( table_lock, pl2 );
 > 	.....
 > 	unlock( entry->lock, pl1 );

You can already do this with Solaris-style mutexes if they are adaptive
mutexes.  Interrupt-blocking mutexes are meant to not be used that often
in the Solaris kernel (and I happen to agree with their approach).

-- 
        -- Jason R. Thorpe <thorpej@wasabisystems.com>