Re: e1000 fixes (NAPI)

Robert Olsson (Robert.Olsson@data.slu.se)
Thu, 21 Nov 2002 11:43:11 +0100


Jeff V. Merkey writes:
>
> Need another fix. You need to reinstrument the tasklet schedule in the
> fill_rx_ring instread of doing the whole thing from interrupt. When the
> system is loaded at 100% saturation on gigbit with 300 byte packets or
> smaller, the driver does not allow any processes to run, and you cannot
> log in via ssh or any user space apps. This is severely busted.
>
> The later versions of the driver > 4.3.15 all exhibit this behavior and
> are extremely broken.

Where have you been? :-)

NAPI does RX processing in softirq. RX interrupts are just used to indicate
work. At high loads the consecutive RX polls gets run via ksoftirqd which
is under scheduler control also the RX softirq breakes for other work. This
makes the NAPI network stuff as very well behaved kernel citizen and also
gives network performance at any load.

More details is in the usenix paper;
http://www.cyberus.ca/~hadi/usenix-paper.tgz

Cheers.
--ro

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