Subject: Re: de-indirect TCP congestion control

From: Eric Dumazet <[email-masked]>
Date: Mon, 12 Mar 2018 13:03:35 -0700

On 03/12/2018 12:48 PM, Stephen Hemminger wrote:
> On Mon, 12 Mar 2018 15:04:06 -0400 (EDT)
> David Miller <[email-masked]> wrote:
> 
>> From: Stephen Hemminger <[email-masked]>
>> Date: Mon, 12 Mar 2018 11:45:52 -0700
>>
>>> 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 ?