[PATCH net v3] net/sched: sch_cake: fix autorate reconfiguration throttling

From: Giuseppe Piscitelli

Date: Thu Aug 20 2026 - 11:52:22 EST


CAKE's autorate-ingress path intends to limit shaper reconfiguration to
once per 250 ms, but last_reconfig_time is only checked and never updated.
Since the field stays zero, every qualifying capacity-estimate window can
call cake_reconfigure(), causing avoidable rate churn and scheduler work
under bursty traffic.

Store the current timestamp when autorate actually reconfigures the qdisc
so the guard enforces the intended interval.

Fixes: 7298de9cd725 ("sch_cake: Add ingress mode")
Assisted-by: Codex:gpt-5.5
Signed-off-by: Giuseppe Piscitelli <ooonea@xxxxxxxxx>
---
v3: resend via git send-email; v2 went out through a mail client that
mangled whitespace and does not apply
v2: spell out my full name in From/Signed-off-by (Paolo Abeni)

net/sched/sch_cake.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/net/sched/sch_cake.c b/net/sched/sch_cake.c
index f25f60978..dc9326702 100644
--- a/net/sched/sch_cake.c
+++ b/net/sched/sch_cake.c
@@ -1907,6 +1907,7 @@ static s32 cake_enqueue(struct sk_buff *skb, struct Qdisc *sch,
ktime_add_ms(q->last_reconfig_time,
250))) {
q->config->rate_bps = (q->avg_peak_bandwidth * 15) >> 4;
+ q->last_reconfig_time = now;
cake_reconfigure(sch);
}
}

base-commit: 24ef02f934eeb48830cff6b739abc3c62b1d107b
--
2.54.0