Jeff Garzik wrote:
> 1) Rx Skb recycling.
Sounds like a potentially useful idea. To solve the most immediate memory
pressure problems, maybe VM could provide some function that does a kfree
in cases of memory shortage, and that does nothing otherwise, so the
driver could offer to free the skb after netif_rx. You still need to go
over the list in idle periods, though.
> 2) Tx packet grouping.
Hmm, I think we need an estimate of how long a packet train you'd usually
get. A flag looks reasonably inexpensive. Estimated numbers sound like
> Disadvantages? Can this sort of knowledge be obtained by a netdevice
> right now, without any kernel modifications?
Question is what the hardware really needs. If you can change the
interrupt point easily, it's probably cheapest to do all the work in
> 3) Slabbier packet allocation.
Hmm, this may actually be worse during bursts: if you burst exceeds
the preallocated size, you have to perform more expensive/slower
operations (e.g. running a tasklet) to refill your cache.
/ Werner Almesberger, ICA, EPFL, CH Werner.Almesberger@xxxxxxx /