Re: [PATCH v4 06/10] e1000e: Support for byte queue limits
From: Tom Herbert <hidden>
Date: 2011-12-01 01:04:39
From: Tom Herbert <hidden>
Date: 2011-12-01 01:04:39
whats wrong with using total_tx_bytes or buffer_info->bytecount? it contains the "bytes on the wire" value which will be slightly larger than skb->len, but avoids warming the skb->len cacheline unnecessarily.
This makes sense. I made the changes, but the limits computed are
much higher than with using sbk->len. I suspect there may be a bug in
GSO path.
For instance, in the driver at:
bytecount = ((segs - 1) * skb_headlen(skb)) + skb->len;
I see cases like:
segs=34, skb_header_len(skb)=70, skb->len=49298 so bytecount=51608
Which seems reasonable... but, I also see things like:
segs=45, skb_header_len(skb)=1522, skb->len=65226, so bytecount= 132194
^^^^
Which doesn't seem right at all. I am thinking there may be a bug
setting skb->data_len improperly.
Tom