Re: TCP transmit performance regression

Ming Lei
2012-07-10T13:37:30Z

On Tue, Jul 10, 2012 at 4:28 PM, Eric Dumazet <eric.dumazet@gmail.com> wrote:
> On Tue, 2012-07-10 at 15:22 +0800, Ming Lei wrote:
>
>> 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