From: Dave Taht <dave.taht@gmail.com>
To: David Lang <david@lang.hm>
Cc: "Dave Täht" <dave@taht.net>,
cerowrt-devel <cerowrt-devel@lists.bufferbloat.net>,
"Eric Dumazet" <edumazet@google.com>
Subject: Re: [Cerowrt-devel] fq_pie for linux
Date: Thu, 6 Dec 2018 12:21:01 -0800 [thread overview]
Message-ID: <CAA93jw6gUhxC9hwGF4T=fAQ5-Zxt2sPnUoE19+sbbZB178g=VA@mail.gmail.com> (raw)
In-Reply-To: <alpine.DEB.2.02.1812061112170.22661@nftneq.ynat.uz>
On Thu, Dec 6, 2018 at 12:13 PM David Lang <david@lang.hm> wrote:
>
> On Thu, 6 Dec 2018, Dave Taht wrote:
>
> > Toke Høiland-Jørgensen <toke@toke.dk> writes:
> >
> >> Dave Taht <dave.taht@gmail.com> writes:
> >>
> >>> https://github.com/gautamramk/FQ-PIE-for-Linux-Kernel/issues/2
> >>
> >> With all the variants of fq+AQM, maybe decoupling the FQ part and the
> >> AQM part would be worthwhile, instead of reimplementing it for each
> >> variant...
> >
> > I actually sat down to write a userspace implementation of the fq bits
> > in C with a pluggable AQM a while back. I called it "drrp".
> >
> > I think that there are many applications today that do too much
> > processing per packet, and end up with their recv socket buffer
> > overflowing (ENOBUFS) and tail-dropping in the kernel. I've certainly
> > seen this with babeld, in particular.
> >
> > So by putting an intervening layer around the udp recv call to keep
> > calling that as fast as possible, and try to FQ and AQM the result, I
> > thought we'd get better fairness between different flows over udp and a
> > smarter means of shedding load when that was happening.
> >
> > Then... there was all this activity recently around other approaches to
> > the udp problem in the kernel, and I gave up while that got sorted out.
>
> one of these is (IIRC) mmreceive, which lets the app get all the pending packets
> from the Linux UDP stack in one systemcall rather than having to make one
> syscall per packet. In rsyslog this is a significant benefit at high packet
> rates.
Are you referring to recvmmsg? That's always been problematic (it
would block), but I keep hoping it's been fixed.
While I'm kvetching about udp and userspace, would love the equivalent
of high and low watermarks to work. select can return when there is
only 1 byte of space available and thus you have to retry until
there's room for a packet.
I'm totally incapable of writing such a thing. I find these bits of
the kernel impenetrable.
>
> David Lang_______________________________________________
> Cerowrt-devel mailing list
> Cerowrt-devel@lists.bufferbloat.net
> https://lists.bufferbloat.net/listinfo/cerowrt-devel
--
Dave Täht
CTO, TekLibre, LLC
http://www.teklibre.com
Tel: 1-831-205-9740
next prev parent reply other threads:[~2018-12-06 20:21 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-12-05 22:27 Dave Taht
2018-12-06 7:50 ` Toke Høiland-Jørgensen
2018-12-06 20:03 ` Dave Taht
2018-12-06 19:13 ` David Lang
2018-12-06 20:21 ` Dave Taht [this message]
2018-12-11 18:32 ` Aaron Wood
2018-12-11 18:37 ` Dave Taht
2018-12-11 18:38 ` Dave Taht
2018-12-11 18:38 ` Jonathan Morton
2018-12-11 18:39 ` Dave Taht
2018-12-11 20:23 ` Toke Høiland-Jørgensen
2018-12-11 20:35 ` Dave Taht
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/cerowrt-devel.lists.bufferbloat.net/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='CAA93jw6gUhxC9hwGF4T=fAQ5-Zxt2sPnUoE19+sbbZB178g=VA@mail.gmail.com' \
--to=dave.taht@gmail.com \
--cc=cerowrt-devel@lists.bufferbloat.net \
--cc=dave@taht.net \
--cc=david@lang.hm \
--cc=edumazet@google.com \
/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