net/sched/sch_cake.c | 1 + 1 file changed, 1 insertion(+)
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: ooonea <ooonea@gmail.com>
---
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
On 8/16/26 3:21 AM, ooonea wrote:
> 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: ooonea <ooonea@gmail.com>
The SoB must contain your real full name, and not a nick.
/P
ooonea <ooonea@gmail.com> writes:
> 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: ooonea <ooonea@gmail.com>
Acked-by: Toke Høiland-Jørgensen <toke@toke.dk>
© 2016 - 2026 Red Hat, Inc.