* David S. Miller <[EMAIL PROTECTED]> 2005-08-23 10:35
> Currently NETIF_F_SG drivers do not wake up the TX queue
> until MAX_SKB_FRAGS descriptors are ready, now they'll
> have to defer until (N * MAX_SKB_FRAGS) are available.
> 
> And even for a low value of "N" like 3 this is a whopping _54_ TX
> descriptors on 4K PAGE_SIZE platforms.  Heck, many drivers do not come
> up with that many TX descriptors available, in total!
> 
> And it's unthinkable to put this TX queue emptyness knowledge
> into the generic queueing layer.  Poor man's TSO is definitely
> not worth this.

Maybe not in the generic queueing layer but we can provide a specific
qdisc which would be aware of this and could provide chained skbs
with a configureable N. The qdisc could either rely on having
a at least partly filled queue or use a timer to give every skb
a few jiffies delay to wait for other skbs useable for chaining. The
major issues on this would be in qdisc_restart() so we'd probably
have to extend the api and add a dequeue_chain() and only use it if
both the device and qdisc support it.

Just a thought but this would probably be the easiest implementation
which could still result in some gain. It's not poor man's TSO
anymore though ;).
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to