Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 30 Mar 1995 16:19:31 -0800
From:      David Greenman <davidg@Root.COM>
To:        terry@cs.weber.edu (Terry Lambert)
Cc:        vernick@cs.sunysb.edu, freebsd-hackers@FreeBSD.org
Subject:   Re: help with splbio, splnet, spl... 
Message-ID:  <199503310019.QAA00334@corbin.Root.COM>
In-Reply-To: Your message of "Thu, 30 Mar 95 16:57:10 MST." <9503302357.AA29610@cs.weber.edu> 

next in thread | previous in thread | raw e-mail | index | archive | help
>>    It prevents interrupts from devices that are "bio" type. This is basically
>> all disk controllers. Tty devices (such as serial ports) are blocked with
>> spltty(). Network interrupts are blocked with splimp(). splhigh() and
>> splclock() block all interrupts except "fast" interrupts. "fast" interrupts
>> are special and can be explained if necessary; they are currently only used in
>> the sio driver.
>
>
>Or more simply:
>
>increasing
>priority
>    ^
>    | fast --------------------------------------------------->
>    |
>    | splclock -------------------------------------> |
>    |                                       ,---------'
>    | splimp -----------------------------> |
>    |                             ,---------'
>    | spltty -------------------> |
>    |                   ,---------'
>    | splbio ---------> |              B L O C K E D
>    |                   |
>    +---------------------------------------------------------
>
>It's a tiered interrupt scheme.  You can block all interrupts
>at or below a specified priority while you are doing high
>priority stuff so that it gets done in time.  The "fast"
>interrupts can't be blocked.

   It doesn't work this way in FreeBSD. It is not a tierd interrupt scheme.
Each of the interrupt classes are independant and do NOT block the others. The
only exception to this is tty and net are ored together if you are using SLIP
or PPP (the reason should be obvious).

-DG



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