Re: Serializing hard_start_xmit() (was: 3c509 ethernet going down.)

Alan Cox (alan@lxorguk.ukuu.org.uk)
Thu, 30 Jan 1997 00:23:17 +0000 (GMT)


> (2) In do_dev_queue_xmit(), distinguish normal kernel level and
> software interrupt level by intr_count.
>
> If it is normal kernel level and dev->tbusy==0, the queue must be
> empty, so we can send the packet (don't need checking the queue).

Clever

> (3) Guarantee that hard_start_xmit() is called atomically with dev->tbusy==0.
> (This can make network drivers simple.)
Yes.

I'll apply this when I've been over it. I can see the smp stuff is wrong
at the moment (lock_kernel is handled entirely at syscall level still)

Alan