Subject: Re: CVS commit: src/sys
From: David Laight <firstname.lastname@example.org>
Date: 11/05/2003 00:26:56
> Actually, the lock is just kind of funny. RASes can't be used in the
> multiprocessor case, and simple_lock() is a no-op if you don't compile with
> MULTIPROCESSOR (or LOCK_DEBUG).
Actually any process using RASes just need all its LWPs bound to the same
physical cpu. Also making the lock redundant!
One might think that there ought to be an splhi() call to protect the
updates - since the list is only ever searched during an ISR - but even
this is unnecessary since the list can only be updated by the process
itself (which must therefore be in the kernel) and cannot be executing
a RAS sequence at the same time.
OTOH I didn't notice a check for the ISR return address being kernel space.
The lack of comments on these points makes be think the writer hadn't
thought about them :-)
David Laight: email@example.com