Discussion of explicit congestion notification's impact on the Internet
 help / color / mirror / Atom feed
From: Dave Taht <dave@taht.net>
To: ecn-sane@lists.bufferbloat.net, bloat@lists.bufferbloat.bt
Subject: [Ecn-sane] fq_codel_fast with SCE and GSO/GRO splitting
Date: Sun, 28 Jul 2019 20:43:30 -0700	[thread overview]
Message-ID: <87v9vlfqu5.fsf@nemesis.taht.net> (raw)


I finished working up today my fork of fq_codel with both basic SCE
support and GSO/GRO splitting, that can be compiled easily out of
tree for a few more modern kernels (tested with 4.18)

I'm a little stuck in that I haven't been able to convince tc-adv to
configure it out of the same q_fq_codel.c that fq_codel uses (the API is
exactly the same, except that ce_threshold is now
sce_threshold). Anybody? I just figured i'd change the .id field.  Still
poking....

The fq_codel_fast project started because I wanted to balance my karma
after all the cpu cake ate up. I'd originally intended to simplify and
speed it up, then attempt to make a multicore shaper out of it... but
the SCE thing happened. I'd still like to do that at some point, but,
anyway:

* Out of tree build that doesn't have a lot of backport code yet
* Hard coded 1024 queues - so far nobody's needed more
* NO tc filter support - can't see a reason for it
* All the useless stats ripped out
* Bulk (on overload) dropper made closer to O(1)
* Bulk dropper feeds back into the codel count
* A mild revision to codel
* co-exists with fq_codel
* GSO/GRO support for ce_threshold > 0. Set it to a lot if you
  want to disable SCE. Set it to 0 for hopefully sped up normal
  fq_codel behavior.
  
I'm going to rip out packet limits as well in favor of a pure memory
limit.

I presently do not see a reason for a SCE ramp function, as
I don't intend to produce a configurable single or dual queue
version. If you want less or more queues, just recompile.....

I would like to measure the impact of the cpu scheduler on a wider
variety of low end hardware and see just how low the sce_threshold can
go, as well as how "bulky" reads off the rx ring currently are...

...after I figure out how to configure the darn thing and nail at least
one remaining bug.

Get it at: https://github.com/dtaht/fq_codel_fast

Patches gladly accepted! 

                 reply	other threads:[~2019-07-29  3:43 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

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

  List information: https://lists.bufferbloat.net/postorius/lists/ecn-sane.lists.bufferbloat.net/

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

  git send-email \
    --in-reply-to=87v9vlfqu5.fsf@nemesis.taht.net \
    --to=dave@taht.net \
    --cc=bloat@lists.bufferbloat.bt \
    --cc=ecn-sane@lists.bufferbloat.net \
    /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