DragonFly site

Trevor Kendall trevorjk at gmail.com
Sat Apr 1 03:47:48 PST 2006

On 4/1/06, Erik Wikström <erik-wikstrom at xxxxxxxxx> wrote:
> On 2006-04-01 05:50, Trevor Kendall wrote:
> > Hi,
> >
> > On the site I have noticed a number of issues. Most are easily fixed,
> > but I'm not sure about this one.
> >
> > On http://www.dragonflybsd.org/docs/goals.cgi
> > Serializing tokens may also be used to protect threads from preempting
> > interrupts that attempt to obtain the same token. This is a slightly
> > different effect from the Big Giant Lock (also known as the MP lock),
> > which does not interlock against interrupts on the same cpu. It is
> > important to note that token atomicity is maintained through
> > preemptive conditions, even though preemption involves a temporary
> > switch to another thread. It is not necessary to enter a spl() level
> > or critical section to preserve token atomicity.
> >
> > Weren't the spl set of functions removed?
> Yes, since they are no longer necessary, just as it says. As I
> understand things the above text explains the difference between using
> serializing tokens and BGL when dealing with preemption, and says that
> with tokens there is not need for spl().
> --
> Erik Wikström
> --
>   "I have always wished for my computer to be as easy to use as my
>   telephone; my wish has come true because I can no longer figure
>   out how to use my telephone" -- Bjarne Stroustrup

Lets look at it another way.

"It is not necessary to enter a spl() level or critical section to
preserve token atomicity." That sentence is implying that there is an
spl level in the kernel (which does not exist), as well as implying
that there is a critical section in the kernel (which does exist).
Should that sentence be changed to "It is not necessary to enter a
critical section to preserve token atomicity." since spl's no longer
exist and critical sections do exist still?


More information about the Docs mailing list