[netdrivers] Performance improvements for Linux sk98lin driver

Tom Kelly ctk21@eng.cam.ac.uk
Wed Feb 12 07:36:02 2003


Hi,

I have some performance improvements for the SysKonnect sk98lin driver in 
the 2.4.xx series. It is available as a patch against the driver in 2.4.19 
from:
http://www-lce.eng.cam.ac.uk/~ctk21/code/sk98lin-perf-2.4.19-1.patch

The first is to use netif_wake_queue when clearing the TX ring instead of 
netif_start_queue. The former call checks to see whether there are packets 
pending transmission on a qdisc and unlocks the device structures while 
the later only unlocks the device structures. With this alteration 
TX_COMPLETE interrupts can be moderated safely; with netif_start_queue the 
qdisc on the device can have packets that never get sent until new packets 
are enqueued on the interface. 

The second is not to perform small packet copies by defaults; this may be 
considered inappropriate on memory starved systems but here processor and 
memory bandwidth were the scarce resource. So you're milage with this may 
vary.

Hope it helps,
Tom