[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20180815132558.GA31951@kroah.com>
Date: Wed, 15 Aug 2018 15:25:58 +0200
From: Greg KH <gregkh@...ux-foundation.org>
To: Mao Wenan <maowenan@...wei.com>
Cc: dwmw2@...radead.org, netdev@...r.kernel.org,
eric.dumazet@...il.com, edumazet@...gle.com, davem@...emloft.net,
ycheng@...gle.com, jdw@...zon.de
Subject: Re: [PATCH stable 4.4 4/9] tcp: use an RB tree for ooo receive queue
On Wed, Aug 15, 2018 at 09:21:03PM +0800, Mao Wenan wrote:
> From: Yaogong Wang <wygivan@...gle.com>
>
> Over the years, TCP BDP has increased by several orders of magnitude,
> and some people are considering to reach the 2 Gbytes limit.
>
> Even with current window scale limit of 14, ~1 Gbytes maps to ~740,000
> MSS.
>
> In presence of packet losses (or reorders), TCP stores incoming packets
> into an out of order queue, and number of skbs sitting there waiting for
> the missing packets to be received can be in the 10^5 range.
>
> Most packets are appended to the tail of this queue, and when
> packets can finally be transferred to receive queue, we scan the queue
> from its head.
>
> However, in presence of heavy losses, we might have to find an arbitrary
> point in this queue, involving a linear scan for every incoming packet,
> throwing away cpu caches.
>
> This patch converts it to a RB tree, to get bounded latencies.
>
> Yaogong wrote a preliminary patch about 2 years ago.
> Eric did the rebase, added ofo_last_skb cache, polishing and tests.
>
> Tested with network dropping between 1 and 10 % packets, with good
> success (about 30 % increase of throughput in stress tests)
>
> Next step would be to also use an RB tree for the write queue at sender
> side ;)
>
> Signed-off-by: Yaogong Wang <wygivan@...gle.com>
> Signed-off-by: Eric Dumazet <edumazet@...gle.com>
> Cc: Yuchung Cheng <ycheng@...gle.com>
> Cc: Neal Cardwell <ncardwell@...gle.com>
> Cc: Ilpo Järvinen <ilpo.jarvinen@...sinki.fi>
> Acked-By: Ilpo Järvinen <ilpo.jarvinen@...sinki.fi>
> Signed-off-by: David S. Miller <davem@...emloft.net>
> Signed-off-by: root <root@...alhost.localdomain>
root and commit id?
Powered by blists - more mailing lists