netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Stephen Hemminger <stephen@networkplumber.org>
To: David Miller <davem@davemloft.net>
Cc: eric.dumazet@gmail.com, netdev@vger.kernel.org
Subject: Re: de-indirect TCP congestion control
Date: Mon, 12 Mar 2018 13:51:22 -0700	[thread overview]
Message-ID: <20180312135122.258decab@xeon-e3> (raw)
In-Reply-To: <20180312.160516.696486782939299055.davem@davemloft.net>

On Mon, 12 Mar 2018 16:05:16 -0400 (EDT)
David Miller <davem@davemloft.net> wrote:

> From: Eric Dumazet <eric.dumazet@gmail.com>
> 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 <davem@davemloft.net> wrote:
> >>   
> >>> From: Stephen Hemminger <stephen@networkplumber.org>
> >>> 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. :-)

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.

      reply	other threads:[~2018-03-12 20:51 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-03-12 18:45 de-indirect TCP congestion control Stephen Hemminger
2018-03-12 19:04 ` David Miller
2018-03-12 19:48   ` Stephen Hemminger
2018-03-12 20:03     ` Eric Dumazet
2018-03-12 20:05       ` David Miller
2018-03-12 20:51         ` Stephen Hemminger [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20180312135122.258decab@xeon-e3 \
    --to=stephen@networkplumber.org \
    --cc=davem@davemloft.net \
    --cc=eric.dumazet@gmail.com \
    --cc=netdev@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).