From owner-freebsd-hackers Thu Mar 30 16:19:37 1995 Return-Path: hackers-owner Received: (from majordom@localhost) by freefall.cdrom.com (8.6.10/8.6.6) id QAA03634 for hackers-outgoing; Thu, 30 Mar 1995 16:19:37 -0800 Received: from Root.COM (implode.Root.COM [198.145.90.1]) by freefall.cdrom.com (8.6.10/8.6.6) with ESMTP id QAA03625 for ; Thu, 30 Mar 1995 16:19:34 -0800 Received: from corbin.Root.COM (corbin.Root.COM [198.145.90.18]) by Root.COM (8.6.8/8.6.5) with ESMTP id QAA15229; Thu, 30 Mar 1995 16:19:31 -0800 Received: from localhost (localhost [127.0.0.1]) by corbin.Root.COM (8.6.11/8.6.5) with SMTP id QAA00334; Thu, 30 Mar 1995 16:19:31 -0800 Message-Id: <199503310019.QAA00334@corbin.Root.COM> X-Authentication-Warning: corbin.Root.COM: Host localhost didn't use HELO protocol To: terry@cs.weber.edu (Terry Lambert) cc: vernick@cs.sunysb.edu, freebsd-hackers@FreeBSD.org Subject: Re: help with splbio, splnet, spl... In-reply-to: Your message of "Thu, 30 Mar 95 16:57:10 MST." <9503302357.AA29610@cs.weber.edu> From: David Greenman Reply-To: davidg@Root.COM Date: Thu, 30 Mar 1995 16:19:31 -0800 Sender: hackers-owner@FreeBSD.org Precedence: bulk >> 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