Re: [net-next 3/3] tcp: keep tcp_collapse controllable even after processing starts
From: Koichiro Den <hidden>
Date: 2017-10-15 02:45:53
On Sat, 2017-10-14 at 08:46 -0700, Eric Dumazet wrote:
On Sat, 2017-10-14 at 16:27 +0900, Koichiro Den wrote:quoted
Combining actual collapsing with reasoning for deciding the starting point, we can apply its logic in a consistent manner such that we can avoid costly yet not much useful collapsing. When collapsing to be triggered, it's not rare that most of the skbs in the receive or ooo queue are large ones without much metadata overhead. This also simplifies code and makes it easier to apply logic in a fair manner. Subtle subsidiary changes included: - When the end_seq of the skb we are trying to collapse was larger than the 'end' argument provided, we would end up copying to the 'end' even though we couldn't collapse the original one. Current users of tcp_collapse does not require such reserves so redefines it as the point over which skbs whose seq passes guranteed not to be collapsed. - Naturally tcp_collapse_ofo_queue shapes up and we no longer need 'tail' argument.I am not inclined to review such a large change, without you providing actual numbers. We have a problem in TCP right now, that receiver announces a too big window, and that is the main reason we trigger collapsing. I would rather fix the root cause.
Ok I got it, thank you.