Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 14 Mar 1997 09:26:09 +0100 (MET)
From:      Wolfgang Helbig <helbig@MX.BA-Stuttgart.De>
To:        ponds!rivers@dg-rtp.dg.com (Thomas David Rivers)
Cc:        hackers@freebsd.org
Subject:   Re: dscheck() and the processor level?
Message-ID:  <199703140826.JAA00226@helbig.informatik.ba-stuttgart.de>
In-Reply-To: <199703140233.VAA00748@lakes.water.net> from Thomas David Rivers at "Mar 13, 97 09:33:57 pm"

next in thread | previous in thread | raw e-mail | index | archive | help
Hi
> 
> I don't think it's the case that this needs to be at splbio(), but
> could someone take a gander at that and let me know?  [I'm a little
> fuzzy on just exactly when you should set the processor level to "bio" -
> just what are we protecting when we do that?]

We won't be interrupted by interrupt sources marked with "bio" in the
kernel config file. Let's assume you have IRQ 14 and IRQ 15 set up
for your IDE-controller, primary and secondary channel. In the 
GENERIC configuration file both are marked with "bio" (in the wdc0/wdc1
line). So if you don't want your wd-interrupt service routine
start running while you are reading or changing common data-structures
you have to code splbio().
Others interrupts like keyboard or clock still will get through and interrupt
you.
This is very well explained in man 9 spl.

Wolfgang



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