summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonas Köppeler <j.koeppeler@tu-berlin.de>2026-02-26 14:40:15 +0300
committerJakub Kicinski <kuba@kernel.org>2026-02-28 05:35:40 +0300
commit0b3cd139be565b85f4a3579e376152b9def6256a (patch)
tree1790d3e81fbddf909a46cc0e30e40972a0b28fa4
parent29252397bcc1e0a1f85e5c3bee59c325f5c26341 (diff)
downloadlinux-0b3cd139be565b85f4a3579e376152b9def6256a.tar.xz
net/sched: sch_cake: avoid sync overhead when unlimited
Skip inter-instance sync when no rate limit is configured, as it serves no purpose and only adds overhead. Fixes: 1bddd758bac2 ("net/sched: sch_cake: share shaper state across sub-instances of cake_mq") Signed-off-by: Jonas Köppeler <j.koeppeler@tu-berlin.de> Acked-by: Toke Høiland-Jørgensen <toke@toke.dk> Link: https://patch.msgid.link/20260226-cake-mq-skip-sync-bandwidth-unlimited-v1-1-01830bb4db87@tu-berlin.de Signed-off-by: Jakub Kicinski <kuba@kernel.org>
-rw-r--r--net/sched/sch_cake.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/net/sched/sch_cake.c b/net/sched/sch_cake.c
index a01f14b1c216..b23fc7d9fafe 100644
--- a/net/sched/sch_cake.c
+++ b/net/sched/sch_cake.c
@@ -2013,7 +2013,8 @@ static struct sk_buff *cake_dequeue(struct Qdisc *sch)
u64 delay;
u32 len;
- if (q->config->is_shared && now - q->last_checked_active >= q->config->sync_time) {
+ if (q->config->is_shared && q->rate_ns &&
+ now - q->last_checked_active >= q->config->sync_time) {
struct net_device *dev = qdisc_dev(sch);
struct cake_sched_data *other_priv;
u64 new_rate = q->config->rate_bps;