[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250328201634.3876474-1-tavip@google.com>
Date: Fri, 28 Mar 2025 13:16:31 -0700
From: Octavian Purdila <tavip@...gle.com>
To: jhs@...atatu.com, xiyou.wangcong@...il.com, jiri@...nulli.us
Cc: davem@...emloft.net, edumazet@...gle.com, kuba@...nel.org,
pabeni@...hat.com, horms@...nel.org, shuah@...nel.org, netdev@...r.kernel.org,
Octavian Purdila <tavip@...gle.com>
Subject: [PATCH net 0/3] net_sched: sch_sfq: reject a derived limit of 1
Because sfq parameters can influence each other there can be
situations where although the user sets a limit of 2 it can be lowered
to 1:
$ tc qdisc add dev dummy0 handle 1: root sfq limit 2 flows 1 depth 1
$ tc qdisc show dev dummy0
qdisc sfq 1: dev dummy0 root refcnt 2 limit 1p quantum 1514b depth 1 divisor 1024
$ tc qdisc add dev dummy0 handle 1: root sfq limit 2 flows 10 depth 1 divisor 1
$ tc qdisc show dev dummy0
qdisc sfq 2: root refcnt 2 limit 1p quantum 1514b depth 1 divisor 1
As a limit of 1 is invalid, this patch series moves the limit
validation to after all configuration changes have been done. To do
so, the configuration is done in a temporary work area then applied to
the internal state.
The patch series also adds new test cases.
Octavian Purdila (3):
net_sched: sch_sfq: use a temporary work area for validating
configuration
net_sched: sch_sfq: move the limit validation
selftests/tc-testing: sfq: check that a derived limit of 1 is rejected
net/sched/sch_sfq.c | 70 ++++++++++++++-----
.../tc-testing/tc-tests/qdiscs/sfq.json | 36 ++++++++++
2 files changed, 90 insertions(+), 16 deletions(-)
--
2.49.0.472.ge94155a9ec-goog
Powered by blists - more mailing lists