Subject: Re: splraise?
To: Jason Thorpe <thorpej@nas.nasa.gov>
From: Chris G. Demetriou <cgd@cs.cmu.edu>
List: tech-kern
Date: 03/05/1997 17:30:49
> ...I've always understood that the spl calls were meant to "raise priority".
> So, if you were already at a priority that blocked an interrupt that
> a new call would make, you don't actually have to do anything.
Actually, historically (i.e "in BSD"), they've been meant to raise
priority, but in a certain domain of applications.
There has historically been a strict ordering of IPLs, and therefore
you knew which spl calls could be called from any given set of code
(by knowing which IPL that code would be run at).
In your example, "splclock()" would normally be safe, since the clock
would be required to have a higher priority interrupt than block I/O
devices.
In systems like NetBSD which run on a very wide variety of hardware,
such assumptions don't make sense. However, the current behaviour of
the spl calls in the NetBSD kernel really isn't much like their
historical behaviour.
cgd