[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20130110.145838.197118228027718720.davem@davemloft.net>
Date: Thu, 10 Jan 2013 14:58:38 -0800 (PST)
From: David Miller <davem@...emloft.net>
To: eric.dumazet@...il.com
Cc: netdev@...r.kernel.org, shemminger@...tta.com, kaber@...sh.net,
paolo.valente@...more.it, jhs@...atatu.com,
herbert@...dor.apana.org.au
Subject: Re: [PATCH v2 net-next] net_sched: more precise pkt_len computation
From: Eric Dumazet <eric.dumazet@...il.com>
Date: Thu, 10 Jan 2013 14:36:42 -0800
> From: Eric Dumazet <edumazet@...gle.com>
>
> One long standing problem with TSO/GSO/GRO packets is that skb->len
> doesn't represent a precise amount of bytes on wire.
>
> Headers are only accounted for the first segment.
> For TCP, thats typically 66 bytes per 1448 bytes segment missing,
> an error of 4.5 % for normal MSS value.
>
> As consequences :
>
> 1) TBF/CBQ/HTB/NETEM/... can send more bytes than the assigned limits.
> 2) Device stats are slightly under estimated as well.
>
> Fix this by taking account of headers in qdisc_skb_cb(skb)->pkt_len
> computation.
>
> Packet schedulers should use qdisc pkt_len instead of skb->len for their
> bandwidth limitations, and TSO enabled devices drivers could use pkt_len
> if their statistics are not hardware assisted, and if they don't scratch
> skb->cb[] first word.
>
> Both egress and ingress paths work, thanks to commit fda55eca5a
> (net: introduce skb_transport_header_was_set()) : If GRO built
> a GSO packet, it also set the transport header for us.
>
>
> Signed-off-by: Eric Dumazet <edumazet@...gle.com>
Looks good, applied, thanks Eric.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists