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>