Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 26 Aug 2002 13:29:58 -0400 (EDT)
From:      John Baldwin <jhb@FreeBSD.org>
To:        Maksim Yevmenkin <myevmenk@exodus.net>
Cc:        hackers@FreeBSD.ORG, "M. Warner Losh" <imp@bsdimp.com>, Bosko Milekic <bmilekic@unixdaemons.com>
Subject:   Re: Fast interrupts
Message-ID:  <XFMail.20020826132958.jhb@FreeBSD.org>
In-Reply-To: <3D6A61F7.872038E5@exodus.net>

next in thread | previous in thread | raw e-mail | index | archive | help

On 26-Aug-2002 Maksim Yevmenkin wrote:
> Bosko Milekic wrote:
>> 
>> On Mon, Aug 26, 2002 at 09:41:43AM -0700, Maksim Yevmenkin wrote:
>> > John Baldwin wrote:
>> > >
>> > > On 26-Aug-2002 M. Warner Losh wrote:
>> > > > can you call wakeup(9) from a fast interrupt handler?
>> >
>> > [ ...]
>> >
>> > > > The only reason I ask is because sio seems to go out of its way to
>> > > > schedule a soft interrupt to deal with waking up processes, which then
>> > > > calls wakeup...
>> > >
>> > > Since wakeup only needs a spin lock, it is probably ok.  You just can't call
>> > > anything that would sleep (in any interrupt handler) or block on a non-spin
>                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^
> my understanding is that John was talking about any
> interrupt handler. Not just fast interrupt hander.

Yes.  When you block on a MTX_DEF mutex, that is not considered "sleeping" for the
purposes of that statement.  Sleeping is when you are in SSLEEP (well, what used
to be called SSLEEP).

>> > > mutex.
>> >
>> > what is the general locking technique for interrupt handlers?
>> > there must be some sort of locking, right?
>> 
>>   You are allowed to use mutex locks (both spin and MTX_DEF), only you
>>   are only allowed to user the former for fast interrupt handlers.
> 
> thanks,
> max

-- 

John Baldwin <jhb@FreeBSD.org>  <><  http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve!"  -  http://www.FreeBSD.org/

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?XFMail.20020826132958.jhb>