Cake - FQ_codel the next generation
 help / color / mirror / Atom feed
From: Dave Taht <dave.taht@gmail.com>
To: Cake List <cake@lists.bufferbloat.net>
Subject: [Cake] set filtered acks to bulk mode
Date: Tue, 5 Dec 2017 14:00:08 -0800	[thread overview]
Message-ID: <CAA93jw7kkRcvUdz1PZ6u1+FtuZsq8EzHAMs5gPb3Jq_06=-1mw@mail.gmail.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 721 bytes --]

The attached patch attempts to deprioritize bulk ack flows in cake.

Once we start accumulating enough acks to filter out, and we start
filtering them out, the "sparse flow optimization" in cake will
start prioritizing the shorter queues. This patch attempts to stop
that, which should give more time for more acks to be eliminated,
and deprioritize bulk ack flows slightly in favor of other traffic
that needs less latency.

Interesting stats from testing would be to measure a change in
ack_drops between the two versions, and changes in the rate of
increase of tcp. The 50x1 settings would be the most dramatic test...

-- 

Dave Täht
CEO, TekLibre, LLC
http://www.teklibre.com
Tel: 1-669-226-2619

[-- Attachment #2: 0001-set-filtered-ack-flows-to-bulk-mode.patch --]
[-- Type: text/x-patch, Size: 1220 bytes --]

From dd5bb48a4744cbd5e3081379e1e0954a31fbca02 Mon Sep 17 00:00:00 2001
From: Dave Taht <dave.taht@gmail.com>
Date: Tue, 5 Dec 2017 13:52:30 -0800
Subject: [PATCH] set filtered ack flows to bulk mode

Once we start accumulating enough acks to filter out, and we start
filtering them out, the "sparse flow optimization" in cake will
start prioritizing the shorter queues. This patch attempts to stop
that, which should give more time for more acks to be eliminated,
and deprioritize the ack flows slightly in favor of other traffic
that needs less latency.
---
 sch_cake.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/sch_cake.c b/sch_cake.c
index 4010388..72ab02b 100644
--- a/sch_cake.c
+++ b/sch_cake.c
@@ -1492,6 +1492,7 @@ static s32 cake_enqueue(struct sk_buff *skb, struct Qdisc *sch,
 				ack = cake_ack_filter(q, flow);
 
 			if (ack) {
+				flow->set = CAKE_SET_BULK;
 				b->ack_drops++;
 				sch->qstats.drops++;
 				b->bytes += ack->len;
@@ -1532,6 +1533,7 @@ static s32 cake_enqueue(struct sk_buff *skb, struct Qdisc *sch,
 			ack = cake_ack_filter(q, flow);
 
 		if (ack) {
+			flow->set = CAKE_SET_BULK;
 			b->ack_drops++;
 			sch->qstats.drops++;
 			b->bytes += qdisc_pkt_len(ack);
-- 
2.7.4


             reply	other threads:[~2017-12-05 22:00 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-12-05 22:00 Dave Taht [this message]
2017-12-06  4:59 ` Ryan Mounce
2017-12-06  6:08 ` Jonathan Morton
2017-12-06  7:05   ` Dave Taht
2017-12-06  8:10     ` Sebastian Moeller

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='CAA93jw7kkRcvUdz1PZ6u1+FtuZsq8EzHAMs5gPb3Jq_06=-1mw@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