Re: de-indirect TCP congestion control
flat view
From: Stephen Hemminger <stephen@networkplumber.org>
Date: 2018-03-12 20:51:26
On Mon, 12 Mar 2018 16:05:16 -0400 (EDT) David Miller [off-list ref] wrote:
From: Eric Dumazet <redacted> Date: Mon, 12 Mar 2018 13:03:35 -0700quoted
On 03/12/2018 12:48 PM, Stephen Hemminger wrote:quoted
On Mon, 12 Mar 2018 15:04:06 -0400 (EDT) David Miller [off-list ref] wrote:quoted
From: Stephen Hemminger <stephen@networkplumber.org> Date: Mon, 12 Mar 2018 11:45:52 -0700quoted
Since indirect calls are expensive, and now even more so, perhaps we should figure out a way to make the default TCP congestion control hooks into direct calls. 99% of the users just use the single CC module compiled into the kernel.Who is this magic user with only one CC algorithm enabled in their kernel? I want to know who this dude is? I don't think it's going to help much since people will have I think at least two algorithms compiled into nearly everyone's tree. Distributions will enable everything. Google is going to have at least two algorithms enabled. etc. etc. etc. Getting rid of indirect calls is a fine goal, but the precondition you are mentioning to achieve this doesn't seem practical at all.What I meant is that kernels with N congestion controls, almost all traffic uses the default So that path can be optimized. The example I gave would have all the others doing the same indirect call.I do not understand. What is default_tcp_ops anyway ? How changes to /proc/sys/net/ipv4/tcp_congestion_control will impact this ?I'm also confused what is being suggested exactly and how this can work. :-)
Trying to directly call the fastpath TCP congestion operations for sockets using the default. The problem is how to do this and it gets messy with Kconfig and CPP to deal with as raw tools. Maybe weak symbols could be used.