Subject: Re: IPL_LOCK oddity
To: Bill Studenmund <wrstuden@netbsd.org>
From: Thor Lancelot Simon <tls@rek.tjls.com>
List: tech-kern
Date: 08/24/2006 14:04:23
On Thu, Aug 24, 2006 at 10:55:42AM -0700, Bill Studenmund wrote:
> On Thu, Aug 24, 2006 at 09:38:11AM +0200, Manuel Bouyer wrote:
> > 
> > And maybe the serial code should use that too ... The locks here are not
> > supposed to be hold for long times, from what I remember.
> 
> That would probably be the best solution. I'd rather not have spllock() 
> block serial interrupts.
> 
> The one problem is that the lock that the com driver takes for interrupts 
> is also the one it takes for normal uses. The latter uses may want to stay 
> with normal spin locks. If so, that'd be an arguement against changing 
> serial drivers to use __cpu_simple_lock.

I think it makes more sense to think of the code that shuffles bytes out
of the hardware FIFO and into the driver proper as, well... a separate
entity, like the old "pseudo-DMA" routines in VAX drivers.  I don't see
why _these_ routines using __cpu_simple_lock should imply that serial
drivers in general (or other code in the same serial driver) should do
so.

Thor