[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: splnet() and such
- To: tech_(_at_)_openbsd_(_dot_)_org
- Subject: Re: splnet() and such
- From: Nick Nauwelaerts <nick_(_at_)_nauwelaerts_(_dot_)_net>
- Date: Wed, 31 Mar 2004 23:07:50 +0200
On Wed, 31 Mar 2004 14:58:50 -0500 (EST)
Michael Shalayeff <mickey_(_at_)_lucifier_(_dot_)_net> wrote:
> > I was going over some network drivers (sf, xe, dc, fxp & xl) this
> > week and saw that most of them used splimp() instead of splnet(). Is
> > there any reason why splimp() is used instead of splnet()? I've seen
> > in the i386/intr.h file that splimp is a macro for splvm(), but
> > haven't found the actual source (.c or .s files) of either function.
> lots of networking code uses a convention that packets
> can be safely queued/dequeued only at splimp() thus this
> is not what really drivers do wrong but rather what they
> have to do due to the MI code. theoretically only splnet()
> and splsoftnet() shall be used in there...
So, does this mean that certain arches don't handle splnet() correctly
but instead require splvm()/splimp() or are these legacy assumptions?
I guess what puzzles me most is why some drivers can get away with
splnet (such as txp) yet most don't.
// nick
Visit your host, monkey.org