Re: tulip driver in 2.1.11* - 2.1.21 is broken - new driver

Alan Cox (alan@lxorguk.ukuu.org.uk)
Sun, 20 Sep 1998 16:04:54 +0100 (BST)


> Umm. For networking at that speeds, they should have bus mastering
> capabilities and the ability to dump packets directly into (or vice versa)
> the system's memory without bothering the main processor to do something.
> Isn't this what the I20 stuff is for? I feel sorry for my poor machine

If they'd open the spec up. Actually I2O is probably too high a latency
to be good for routing gigabit.

> just thinking about the poor little processor scurrying its little feet
> off on passing these packets around at these speeds. 8)

There are a pile of algorithms that help. Some but not all need driver help.,

On the transmit side some of the latest generation cards will let you specify
which packet you want a transmit complete interrupt handled on, so you
can queue 4 frames and take an interrupt when #3 his the wire only.

On the receive side they deliver one interrupt per queue of packets, not
one per packet. So if you get four packets you dont get 4 interrupts.

On the OS side if you have enough memory you can do delayed transmit queue
handling.

o You start with all transmit interrupts off
o When you transmit a packet you queue it up for the hardware as normal
but if the queue is full you empty any completed buffers and use one
if none are available you set the transmit interrupt enable and
go back to sleep
o When you get your transmit interrupt you turn off the transmit
interrupt enable first thing.

That will often take out 90% of your transmit interrupts.

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/