From: Dave Taht <dave.taht@gmail.com>
To: Cake List <cake@lists.bufferbloat.net>
Subject: Re: [Cake] quick patch for split_gso
Date: Wed, 25 Jul 2018 14:21:33 -0700 [thread overview]
Message-ID: <CAA93jw61rp1qbxMraDP3E2h5Gsc7ks-n8PGtoQCMO7RG6HFa4g@mail.gmail.com> (raw)
In-Reply-To: <CAA93jw48GsM0P+FC+xSDZzayn+q2b6ukRYa-VoFdQfmV3yCDXQ@mail.gmail.com>
remarkable how sensitive this is. I went back to using the rate flags
(thus making this a binary option), consistently get bql of 45000 now.
I want me 50usec back!
Summary of tcp_nup test run 'split_gso_test_again_rate_flag_bql_auto'
(at 2018-07-25 21:13:13.816743):
avg median # data pts
Ping (ms) ICMP : 0.85 0.82 ms 343
TCP upload avg : 235.39 235.39 Mbits/s 301
TCP upload sum : 941.57 941.57 Mbits/s 301
TCP upload::1 : 235.32 235.45 Mbits/s 276
TCP upload::2 : 235.41 235.42 Mbits/s 282
TCP upload::3 : 235.42 235.42 Mbits/s 276
TCP upload::4 : 235.42 235.43 Mbits/s 281
diff --git a/net/sched/sch_cake.c b/net/sched/sch_cake.c
index 539c949..f77c61f 100644
--- a/net/sched/sch_cake.c
+++ b/net/sched/sch_cake.c
@@ -2572,7 +2572,7 @@ static int cake_change(struct Qdisc *sch, struct
nlattr *opt,
if (q->rate_bps && q->rate_bps <= CAKE_SPLIT_GSO_THRESHOLD)
q->rate_flags |= CAKE_FLAG_SPLIT_GSO;
else
- q->rate_flags &= ~CAKE_FLAG_SPLIT_GSO;
+ q->rate_flags |= CAKE_FLAG_SPLIT_GSO;
if (q->tins) {
sch_tree_lock(sch);
On Wed, Jul 25, 2018 at 2:03 PM Dave Taht <dave.taht@gmail.com> wrote:
>
> so, I went and tested that patch. Turned out len was signed... I'd put
> it in the wrong place... and the very act of doing that test at all
> permutes the result.
>
> cake unshaped at 1gig, always splitting, ends up with a bql value of
> about 42,000, full throughput, e.g.
>
> if (skb_is_gso(skb)) {
>
> ...
>
> avg median # data pts
> Ping (ms) ICMP : 0.80 0.77 ms 341
> TCP upload avg : 235.40 235.39 Mbits/s 301
> TCP upload sum : 941.61 941.55 Mbits/s 301
> TCP upload::1 : 235.36 235.39 Mbits/s 290
> TCP upload::2 : 235.46 235.39 Mbits/s 291
> TCP upload::3 : 235.38 235.45 Mbits/s 275
> TCP upload::4 : 235.41 235.44 Mbits/s 278
>
> conditionally splitting, either never or always, gives me bql of: 140852
>
> if (skb_is_gso(skb) && len >= q->split_gso) {
>
> avg median # data pts
> Ping (ms) ICMP : 1.64 1.71 ms 347
> TCP upload avg : 235.40 235.38 Mbits/s 301
> TCP upload sum : 941.59 941.52 Mbits/s 301
> TCP upload::1 : 235.35 235.44 Mbits/s 280
> TCP upload::2 : 235.40 235.39 Mbits/s 276
> TCP upload::3 : 235.47 235.43 Mbits/s 276
> TCP upload::4 : 235.37 235.45 Mbits/s 282
>
> the cache line miss can't possibly have cost that much. (?) Guess I
> have to go check the range of len.
>
> I WANT MY 800usec back!
>
> PS For giggles, I accidentally ended up using pfifo_fast for one run.
> I thought I'd broke something.
>
> Summary of tcp_nup test run 'split_gso_test_again_len_512000_bql_auto'
> (at 2018-07-25 20:51:10.533339):
>
> avg median # data pts
> Ping (ms) ICMP : 3.32 3.59 ms 347
> TCP upload avg : 235.38 235.38 Mbits/s 301
> TCP upload sum : 941.52 941.54 Mbits/s 301
> TCP upload::1 : 152.48 150.93 Mbits/s 281
> TCP upload::2 : 152.54 150.35 Mbits/s 286
> TCP upload::3 : 483.96 491.12 Mbits/s 284
> TCP upload::4 : 152.54 150.49 Mbits/s 284
> On Tue, Jul 24, 2018 at 10:01 PM Dave Taht <dave.taht@gmail.com> wrote:
> >
> > Ah... 1gbit, BQL at a sane size, 750 usec RTT. I guess I have to go
> > compile this patch now.....
> >
> >
> > --
> >
> > Dave Täht
> > CEO, TekLibre, LLC
> > http://www.teklibre.com
> > Tel: 1-669-226-2619
>
>
>
> --
>
> Dave Täht
> CEO, TekLibre, LLC
> http://www.teklibre.com
> Tel: 1-669-226-2619
--
Dave Täht
CEO, TekLibre, LLC
http://www.teklibre.com
Tel: 1-669-226-2619
prev parent reply other threads:[~2018-07-25 21:21 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-07-25 4:11 Dave Taht
2018-07-25 4:32 ` Dave Taht
2018-07-25 4:35 ` Dave Taht
2018-07-25 5:01 ` Dave Taht
2018-07-25 21:03 ` Dave Taht
2018-07-25 21:21 ` Dave Taht [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
List information: https://lists.bufferbloat.net/postorius/lists/cake.lists.bufferbloat.net/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=CAA93jw61rp1qbxMraDP3E2h5Gsc7ks-n8PGtoQCMO7RG6HFa4g@mail.gmail.com \
--to=dave.taht@gmail.com \
--cc=cake@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