public inbox for netdev@vger.kernel.org
 help / color / mirror / Atom feed
* Re: coping with memory limitations and packet flooding in codel and fq_codel
       [not found] <CAA93jw7=K8Vvp6N5qYZ8gaODaFyZtAEjGyQe2BDh9-RBsvVHcQ@mail.gmail.com>
@ 2012-08-21  8:38 ` Eric Dumazet
  2012-08-21 10:27   ` Andrew McGregor
  0 siblings, 1 reply; 3+ messages in thread
From: Eric Dumazet @ 2012-08-21  8:38 UTC (permalink / raw)
  To: Dave Taht; +Cc: netdev, codel

On Mon, 2012-08-20 at 14:05 -0700, Dave Taht wrote:
> We've had a raft of deployment questions regarding fq_codel, memory
> use, and the impact of unresponsive flows
> over on the cerowrt development list.
> 
> sort of summary of the thread here, with some codel related ideas
> 
> https://lists.bufferbloat.net/pipermail/cerowrt-devel/2012-August/000423.html
> 
> some early data on wifi interactions here
> 
> https://lists.bufferbloat.net/pipermail/cerowrt-devel/2012-August/000407.html
> 

CC netdev

codel / fq_codel have a packet limit per qdisc, like any other linux
qdisc.

DEFAULT_CODEL_LIMIT = 1000 packets

fq_codel : 10240 packets

For memory constrained boxes, it would be wise to add a 'truesize' limit

Not a bytes limit based on skb->len sum, because a skb->len = 60 bytes
packet might consume far more memory (more than 2 Kbytes)

ath9k driver is known to deliver very fat skbs (skb->truesize is too
big)

One 'other way' to limit bloat would be to reallocate skbs when one
qdisc begins to use more than 25 % of its truesize limit

enqueue(q, skb)
{
	if (q->truesize_sum > q->truesize_limit / 4)
		skb = skb_reduce_truesize(skb, GFP_ATOMIC);
	...
}

This is what some drivers already do in their rx handler (this is called
copybreak), but this would do the copy (and extra cpu cost) only in
stress situations.

Note : we also have a very big struct skb_shared_info (320 bytes), we
probably could shrink it for packets without fragments.

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: coping with memory limitations and packet flooding in codel and fq_codel
  2012-08-21  8:38 ` coping with memory limitations and packet flooding in codel and fq_codel Eric Dumazet
@ 2012-08-21 10:27   ` Andrew McGregor
  2012-08-21 10:50     ` Eric Dumazet
  0 siblings, 1 reply; 3+ messages in thread
From: Andrew McGregor @ 2012-08-21 10:27 UTC (permalink / raw)
  To: Eric Dumazet; +Cc: netdev, codel


[-- Attachment #1.1: Type: text/plain, Size: 192 bytes --]


On 21/08/2012, at 8:38 PM, Eric Dumazet <eric.dumazet@gmail.com> wrote:

> ath9k driver is known to deliver very fat skbs (skb->truesize is too
> big)

What would it take to fix this?

Andrew

[-- Attachment #1.2: smime.p7s --]
[-- Type: application/pkcs7-signature, Size: 2330 bytes --]

[-- Attachment #2: Type: text/plain, Size: 140 bytes --]

_______________________________________________
Codel mailing list
Codel@lists.bufferbloat.net
https://lists.bufferbloat.net/listinfo/codel

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: coping with memory limitations and packet flooding in codel and fq_codel
  2012-08-21 10:27   ` Andrew McGregor
@ 2012-08-21 10:50     ` Eric Dumazet
  0 siblings, 0 replies; 3+ messages in thread
From: Eric Dumazet @ 2012-08-21 10:50 UTC (permalink / raw)
  To: Andrew McGregor; +Cc: netdev, codel

On Tue, 2012-08-21 at 22:27 +1200, Andrew McGregor wrote:
> On 21/08/2012, at 8:38 PM, Eric Dumazet <eric.dumazet@gmail.com> wrote:
> 
> > ath9k driver is known to deliver very fat skbs (skb->truesize is too
> > big)
> 
> What would it take to fix this?
> 
> Andrew

Someone could use the following : 

https://gerrit.chromium.org/gerrit/#/c/18412/

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2012-08-21 10:50 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <CAA93jw7=K8Vvp6N5qYZ8gaODaFyZtAEjGyQe2BDh9-RBsvVHcQ@mail.gmail.com>
2012-08-21  8:38 ` coping with memory limitations and packet flooding in codel and fq_codel Eric Dumazet
2012-08-21 10:27   ` Andrew McGregor
2012-08-21 10:50     ` Eric Dumazet

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox