From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from shards.monkeyblade.net ([184.105.139.130]:36260 "EHLO shards.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751333AbeCLUFS (ORCPT ); Mon, 12 Mar 2018 16:05:18 -0400 Date: Mon, 12 Mar 2018 16:05:16 -0400 (EDT) Message-Id: <20180312.160516.696486782939299055.davem@davemloft.net> To: eric.dumazet@gmail.com Cc: stephen@networkplumber.org, netdev@vger.kernel.org Subject: Re: de-indirect TCP congestion control From: David Miller In-Reply-To: References: <20180312.150406.1432667769589045118.davem@davemloft.net> <20180312124813.3fa6b833@xeon-e3> Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: netdev-owner@vger.kernel.org List-ID: From: Eric Dumazet 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 wrote: >> >>> From: Stephen Hemminger >>> 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 ? I'm also confused what is being suggested exactly and how this can work. :-)