[Cake] quick patch for split_gso
Dave Taht
dave.taht at gmail.com
Wed Jul 25 17:21:33 EDT 2018
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 at 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 at 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
More information about the Cake
mailing list