public inbox for netdev@vger.kernel.org 
 help / color / mirror / Atom feed
* [PATCH net v3 0/3] net_sched: sch_sfq: reject a derived limit of 1
@ 2025-04-07 20:24 Octavian Purdila
  2025-04-07 20:24 ` [PATCH net v3 1/3] net_sched: sch_sfq: use a temporary work area for validating configuration Octavian Purdila
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: Octavian Purdila @ 2025-04-07 20:24 UTC (permalink / raw)
  To: jhs, xiyou.wangcong, jiri
  Cc: davem, edumazet, kuba, pabeni, horms, shuah, netdev,
	Octavian Purdila

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.

v3:
 - remove a couple of unnecessary comments
 - rearrange local variables to use reverse Christmas tree style
   declaration order

v2: https://lore.kernel.org/all/20250402162750.1671155-1-tavip@google.com/
 - remove tmp struct and directly use local variables

v1: https://lore.kernel.org/all/20250328201634.3876474-1-tavip@google.com/

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                           | 66 ++++++++++++++-----
 .../tc-testing/tc-tests/qdiscs/sfq.json       | 36 ++++++++++
 2 files changed, 86 insertions(+), 16 deletions(-)

-- 
2.49.0.504.g3bcea36a83-goog


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2025-04-09 11:59 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-04-07 20:24 [PATCH net v3 0/3] net_sched: sch_sfq: reject a derived limit of 1 Octavian Purdila
2025-04-07 20:24 ` [PATCH net v3 1/3] net_sched: sch_sfq: use a temporary work area for validating configuration Octavian Purdila
2025-04-07 20:24 ` [PATCH net v3 2/3] net_sched: sch_sfq: move the limit validation Octavian Purdila
2025-04-07 20:24 ` [PATCH net v3 3/3] selftests/tc-testing: sfq: check that a derived limit of 1 is rejected Octavian Purdila
2025-04-09 12:00 ` [PATCH net v3 0/3] net_sched: sch_sfq: reject a derived limit of 1 patchwork-bot+netdevbpf

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox