David S. Miller wrote:
From: Ben Greear <[EMAIL PROTECTED]>
Date: Wed, 18 Jan 2006 11:12:54 -0800
Well, to answer myself: I found the problem. Pktgen's multi-skb
trick only works if the device makes no change to the skb. But, the
cxgb driver pushes a header on the front of the skb...
So, you just can't use the multi-skb pktgen option with this driver...
That definitely needs some fixing. Such an assumption is very
wrong, in general.
This would break also with several FDDI drivers, for example.
An idea might be to preallocate a ring or list of SKBs, prefill
them out, and do that instead of what the current code does.
Yep..this breaks not only with chelsio but also with vlans
since they change skb->dev on the way down the stack....
Pre-allocating doesn't help much because at 10Gbe NICs you could
very quickly send your entire RAM! Probably the best bet is to
use some sort of skb recycling where you quickly switch back skb->dev
and the head/tail pointers as soon as the NIC releases it's last
reference....
Thanks,
Ben
--
Ben Greear <[EMAIL PROTECTED]>
Candela Technologies Inc http://www.candelatech.com
-
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