From: Pete Heist <pete@heistp.net>
To: Dave Taht <dave.taht@gmail.com>
Cc: Make-Wifi-fast <make-wifi-fast@lists.bufferbloat.net>
Subject: Re: [Make-wifi-fast] emulating wifi better - coupling qdiscs in netem?
Date: Mon, 18 Jun 2018 23:54:36 +0200 [thread overview]
Message-ID: <96697B23-46AB-4BA7-8B7E-2A66C1E67911@heistp.net> (raw)
In-Reply-To: <CAA93jw5CYqP9nXR+8cbUfBdQW9VcrD5xSCtvU5mLDDmkyLp6_A@mail.gmail.com>
[-- Attachment #1: Type: text/plain, Size: 2558 bytes --]
> On Jun 18, 2018, at 9:44 PM, Dave Taht <dave.taht@gmail.com> wrote:
>
> This is still without batch releases, yes?
Yes, I should've tried that earlier, but I’m scratching my head now as to how it works. Perhaps it’s because the old example I’m using for the non-GSO case uses deprecated functions and I ought to just ditch it, but I thought if in my callback I just switched:
return nfq_set_verdict(qh, id, NF_ACCEPT, 0, NULL);
to
return nfq_set_verdict_batch(qh, id + 8, NF_ACCEPT);
that my callback might not be called for the subsequent 8 packets I’ve accepted, however it continues to be called for each id sequentially anyway and throughput is no better. If I change 8 to something unreasonable, like 1000000, throughput is cut in half, so it’s doing “something”.
There are functions in the newer GSO example like nfq_nlmsg_verdict_put, but I don’t see a batch version of that. So, I’m likely missing something…
BTW I don’t see a change setting SO_BUSY_POLL on nfq’s fd (tried 1000 - 1000000 usec).
> In any case, the now achieved rates and latencies seem sufficient to
> try and adapt these methods to emulating wifi/lte etc better! We only
> need to get to a gbit.
Indeed, it’s there. :)
> Obviously doing more expensive userspace
> processing is going to hurt, and, well, for the sake of argument
> emulating a 32 station wifi 802.11n network would be proof of the
> pudding, but I'd settle for even the simplest case of one ap and two
> stations
> actually rendering sane-looking behavior.
> Originally, when thinking about this, I'd thought we'd use one veth
> per station and toss packets to userspace based on one nfqueue per
> input/output interface. I still lean that way (do we get multicast mac
> addrs on packets this way?), but perhaps a single interface could be
> used and we could
> sort out the src/dst ips and batching in userspace, starting with
> fifos to represent current behavior and gradually working our way back
> up to the fq_codel on wifi emulation. Or, with one veth per station,
> still use a fq_codel qdisc, but I don't see how we can create
> backpressure for that actually to engage.
>
> Better to be reordering the verdict on packets in the batch for an
> fq_codel emulation. I think.
Is it worth measuring the aggregate throughput of 32 iperf3 client veth devices to one server device?
Worth trying to get the newer code into Go? I may have to start over without the wrapper and just write something simpler with newer code.
[-- Attachment #2: Type: text/html, Size: 18349 bytes --]
next prev parent reply other threads:[~2018-06-18 21:54 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-05-30 17:28 Dave Taht
2018-05-30 18:32 ` Bob McMahon
2018-05-30 18:54 ` Dave Taht
2018-05-30 18:58 ` Jonathan Morton
2018-05-30 19:19 ` Bob McMahon
2018-05-30 23:26 ` Dave Taht
2018-05-30 22:57 ` dpreed
2018-06-15 22:30 ` Dave Taht
2018-06-16 22:53 ` Pete Heist
2018-06-17 11:19 ` Jesper Dangaard Brouer
2018-06-17 15:16 ` Pete Heist
2018-06-17 16:09 ` Dave Taht
2018-06-17 18:38 ` Pete Heist
2018-06-17 18:47 ` Jonathan Morton
2018-06-18 9:24 ` Pete Heist
2018-06-18 16:08 ` Eric Dumazet
2018-06-18 19:33 ` Pete Heist
2018-06-18 19:44 ` Dave Taht
2018-06-18 21:54 ` Pete Heist [this message]
2018-06-18 22:27 ` Eric Dumazet
2018-06-17 20:42 ` Dave Taht
2018-06-18 1:02 ` Eric Dumazet
2018-06-18 0:59 ` Eric Dumazet
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/make-wifi-fast.lists.bufferbloat.net/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=96697B23-46AB-4BA7-8B7E-2A66C1E67911@heistp.net \
--to=pete@heistp.net \
--cc=dave.taht@gmail.com \
--cc=make-wifi-fast@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