Netdev List
 help / color / mirror / Atom feed
* [Bug] skb truesize does not update properly in many place
@ 2011-10-14  5:33 roy.qing.li
  2011-10-14  5:48 ` Eric Dumazet
  0 siblings, 1 reply; 3+ messages in thread
From: roy.qing.li @ 2011-10-14  5:33 UTC (permalink / raw)
  To: eric.dumazet, netdev; +Cc: roy.qing.li

Hi Eric Dumazet:

I see you are correcting the wrong skb truesize, I found the
same problem exists in many forms and many places, like:

After calling skb_fill_page_desc(), what should be updated 
to truesize.

pskb_expand_head(), __pskb_pull_tail()... do not update the
truesize.

...

-RongQing.Li

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

* Re: [Bug] skb truesize does not update properly in many place
  2011-10-14  5:33 [Bug] skb truesize does not update properly in many place roy.qing.li
@ 2011-10-14  5:48 ` Eric Dumazet
  2011-10-14  5:51   ` Eric Dumazet
  0 siblings, 1 reply; 3+ messages in thread
From: Eric Dumazet @ 2011-10-14  5:48 UTC (permalink / raw)
  To: roy.qing.li; +Cc: netdev

Le vendredi 14 octobre 2011 à 13:33 +0800, roy.qing.li@gmail.com a
écrit :
> Hi Eric Dumazet:
> 
> I see you are correcting the wrong skb truesize, I found the
> same problem exists in many forms and many places, like:
> 
> After calling skb_fill_page_desc(), what should be updated 
> to truesize.
> 
> pskb_expand_head(), __pskb_pull_tail()... do not update the
> truesize.

All this is scheduled, but any help is appreciated.

I gave the general idea and patched some drivers, I hope other dev will
follow me in this work.

I am now focusing in the TCP pruning effect, that we can see with WIFI
drivers (and also with drivers using a full PAGE to store a 1500 byte
tcp frame), when a single packet loss is happening on a session with
large RTT.

All this truesize saga started because I was shocked by following
"netstat -s" extract on my laptop after few minutes of Internet stuff.

    848 packets collapsed in receive queue due to low socket buffer

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

* Re: [Bug] skb truesize does not update properly in many place
  2011-10-14  5:48 ` Eric Dumazet
@ 2011-10-14  5:51   ` Eric Dumazet
  0 siblings, 0 replies; 3+ messages in thread
From: Eric Dumazet @ 2011-10-14  5:51 UTC (permalink / raw)
  To: roy.qing.li; +Cc: netdev

Le vendredi 14 octobre 2011 à 07:48 +0200, Eric Dumazet a écrit :

> I am now focusing in the TCP pruning effect, that we can see with WIFI
> drivers (and also with drivers using a full PAGE to store a 1500 byte
> tcp frame), when a single packet loss is happening on a session with
> large RTT.
> 

Here is what I am currently testing :

When one SKB has to be queued in out_of_order_queue,
possibly for a long time, try to reduce its truesize (by using
skb_copy_expand()) if skb->truesize is larger than
2*SKB_TRUESIZE(skb->len)

It seems to work very well, and should not happen in fast path.

Stay tuned

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

end of thread, other threads:[~2011-10-14  5:52 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-10-14  5:33 [Bug] skb truesize does not update properly in many place roy.qing.li
2011-10-14  5:48 ` Eric Dumazet
2011-10-14  5:51   ` Eric Dumazet

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