On Tue, Apr 26, 2016 at 01:19:15PM -0700, Eric Dumazet wrote: > On Tue, 2016-04-26 at 15:00 -0400, Neil Horman wrote: > > I can understand that, but that raises two questions in my mind: > > > > 1) Doesn't that make all the statistical manipulation for netem wrong? > > That is > > to say, if netem drops 5% of packets, and it happens to drop a GSO packet, > > its > > actually dropping several, instead of the single one required. > > > Please take a look at tbf_segment(), where you can find a proper way to > handle this. > > Note that for the case q->corrupt is 0, we definitely do not want to > segment TSO packets. > > > 2) How are you getting netem to work with GSO at all? The warning is > > triggered > > for me on every GSO packet, which I think would impact throughput :) > > I mostly use netem to add delays and drops. > I never had this bug, since q->corrupt = 0 >
I see what you're saying now, I should only be segmenting the packet if the qdisc needs to compute the checksum on each packet. Other packets that aren't selected to be mangled can pass through un-segmented (assuming they meet any other queue constraints). Ok, thanks. Self-nak. I'll respin/test and post a new version Best Neil > > >