Thread (6 messages) flat view 6 messages, 2 authors, 2012-07-10

Re: TCP transmit performance regression

From: Ming Lei <tom.leiming@gmail.com>
Date: 2012-07-10 13:37:30

On Tue, Jul 10, 2012 at 4:28 PM, Eric Dumazet [off-list ref] wrote:
On Tue, 2012-07-10 at 15:22 +0800, Ming Lei wrote:
quoted
Kernel stack size is 8KB or more, so could you find process creation failure
in your ChromeBooks machine at the same time?
I believe you mix a lot of things.

Have you ever heard of sockets limits ?

All available ram on a machine is not for whoever wants it, thanks God.

No : TCP stack was dropping frames, because of socket limits.

Only because skbs were fat (8KB allocated/truesize, for a single 1500
bytes frame)
Could you explain why the truesize of SKB is 8KB for single
1500bytes frame?

I observed it is 2560bytes for RX SKBs inside asix_rx_fixup with
rx_urb_size of 2048 on beagle-xm.
If application is fast and read skb as soon as the arrive, no problem is
detected.

But if  application is slow, or a TCP packet is lost on network,
man packets are queued into ofo queue. And eventually not enough room is
avalable -> we drop incoming frames, and sender has to restransmit them.

So instead of loading your web pages as fast as possible, you have to
wait for retransmits.

So you see nothing at all, no kernel logs, no failed memory attempts.

Only its slower than necessary


Thanks,
-- 
Ming Lei
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help