Re: peeking the netdevice queue

Alan Cox (alan@lxorguk.ukuu.org.uk)
Wed, 6 Jan 1999 15:00:38 +0000 (GMT)


> In my COSA driver (www.fi.muni.cz/~kas/cosa) it would help
> to improve the effectivity of the driver, because in the end-of-transmit
> interrupt the driver should tell the device if it has another packet
> ready for transmit. The present driver tells the card there are no more
> packets waiting for transmit and lets the dev->hard_start_xmit() to start
> the new transmit later.

As soon as you've done mark_bh(NET_BH) and returned from your IRQ you will
get called from the bottom half handler. The tiny delay there isn't normally
a problem because cards go to "busy" state when their own buffers are full
which is usually at least 2 frames, you therefore have a whole frame time
to load the next packet.

Its not always true. The Z85230 driver it isnt true for, and that simply
keeps hold of a single "next packet" buffer. Thats sufficient to keep it
well fed and happy.

> I have looked at other drivers - for example the 3c59x.c
> implements its own internal queue of packets waiting for transmit

That one is well overkill

Alan

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/