[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