[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date: Thu, 9 Sep 2021 16:10:01 -0700
From: Jakub Kicinski <kuba@...nel.org>
To: davem@...emloft.net
Cc: netdev@...r.kernel.org, jhs@...atatu.com, jiri@...nulli.us,
xiyou.wangcong@...il.com, edumazet@...gle.com,
Jakub Kicinski <kuba@...nel.org>
Subject: [PATCH net 0/3] net: sched: update default qdisc visibility after Tx queue cnt changes
Matthew noticed that number of children reported by mq does not match
number of queues on reconfigured interfaces.
# ethtool -L eth0 combined 8
# tc qdisc replace dev eth0 root handle 100: mq
# tc qdisc show dev eth0
qdisc mq 100: root
qdisc pfifo_fast 0: parent 100:8 bands 3 priomap 1 2 ...
qdisc pfifo_fast 0: parent 100:7 bands 3 priomap 1 2 ...
qdisc pfifo_fast 0: parent 100:6 bands 3 priomap 1 2 ...
qdisc pfifo_fast 0: parent 100:5 bands 3 priomap 1 2 ...
qdisc pfifo_fast 0: parent 100:4 bands 3 priomap 1 2 ...
qdisc pfifo_fast 0: parent 100:3 bands 3 priomap 1 2 ...
qdisc pfifo_fast 0: parent 100:2 bands 3 priomap 1 2 ...
qdisc pfifo_fast 0: parent 100:1 bands 3 priomap 1 2 ...
# ethtool -L eth0 combined 1
# tc qdisc show dev eth0
qdisc mq 100: root
qdisc pfifo_fast 0: parent 100:8 bands 3 priomap 1 2 ...
qdisc pfifo_fast 0: parent 100:7 bands 3 priomap 1 2 ...
qdisc pfifo_fast 0: parent 100:6 bands 3 priomap 1 2 ...
qdisc pfifo_fast 0: parent 100:5 bands 3 priomap 1 2 ...
qdisc pfifo_fast 0: parent 100:4 bands 3 priomap 1 2 ...
qdisc pfifo_fast 0: parent 100:3 bands 3 priomap 1 2 ...
qdisc pfifo_fast 0: parent 100:2 bands 3 priomap 1 2 ...
qdisc pfifo_fast 0: parent 100:1 bands 3 priomap 1 2 ...
# ethtool -L eth0 combined 32
# tc qdisc show dev eth0
qdisc mq 100: root
qdisc pfifo_fast 0: parent 100:8 bands 3 priomap 1 2 ...
qdisc pfifo_fast 0: parent 100:7 bands 3 priomap 1 2 ...
qdisc pfifo_fast 0: parent 100:6 bands 3 priomap 1 2 ...
qdisc pfifo_fast 0: parent 100:5 bands 3 priomap 1 2 ...
qdisc pfifo_fast 0: parent 100:4 bands 3 priomap 1 2 ...
qdisc pfifo_fast 0: parent 100:3 bands 3 priomap 1 2 ...
qdisc pfifo_fast 0: parent 100:2 bands 3 priomap 1 2 ...
qdisc pfifo_fast 0: parent 100:1 bands 3 priomap 1 2 ...
This patchset fixes this by hashing and unhasing the default
child qdiscs as number of queues gets adjusted.
This is long standing behavior so may as well go into net-next.
Jakub Kicinski (3):
net: sched: update default qdisc visibility after Tx queue cnt changes
netdevsim: add ability to change channel count
selftests: net: test ethtool -L vs mq
drivers/net/netdevsim/ethtool.c | 28 +++++++
drivers/net/netdevsim/netdevsim.h | 1 +
include/net/sch_generic.h | 4 +
net/core/dev.c | 2 +
net/sched/sch_generic.c | 9 +++
net/sched/sch_mq.c | 24 ++++++
net/sched/sch_mqprio.c | 23 ++++++
.../drivers/net/netdevsim/ethtool-common.sh | 2 +-
.../drivers/net/netdevsim/tc-mq-visibility.sh | 77 +++++++++++++++++++
9 files changed, 169 insertions(+), 1 deletion(-)
create mode 100755 tools/testing/selftests/drivers/net/netdevsim/tc-mq-visibility.sh
--
2.31.1
Powered by blists - more mailing lists