[Intel-wired-lan] [PATCH net v2] iavf: Fix 'tc qdisc show' listing too many queues

Sreenivas, Bharathi bharathi.sreenivas at intel.com
Tue Jul 19 11:22:17 UTC 2022



> -----Original Message-----
> From: Intel-wired-lan <intel-wired-lan-bounces at osuosl.org> On Behalf Of
> Jedrzej Jagielski
> Sent: Wednesday, June 15, 2022 7:06 PM
> To: intel-wired-lan at lists.osuosl.org
> Cc: Patynowski, PrzemyslawX <przemyslawx.patynowski at intel.com>; Kiran
> Patil <kiran.patil at intel.com>; Jagielski, Jedrzej <jedrzej.jagielski at intel.com>
> Subject: [Intel-wired-lan] [PATCH net v2] iavf: Fix 'tc qdisc show' listing too
> many queues
> 
> From: Przemyslaw Patynowski <przemyslawx.patynowski at intel.com>
> 
> Fix tc qdisc show dev <ethX> root displaying too many fq_codel qdiscs.
> tc_modify_qdisc, which is caller of ndo_setup_tc, expects driver to call
> netif_set_real_num_tx_queues, which prepares qdiscs.
> Without this patch, fq_codel qdiscs would not be adjusted to number of
> queues on VF.
> e.g.:
> tc qdisc show dev <ethX>
> qdisc mq 0: root
> qdisc fq_codel 0: parent :4 limit 10240p flows 1024 quantum 1514 target 5ms
> interval 100ms memory_limit 32Mb ecn drop_batch 64 qdisc fq_codel 0:
> parent :3 limit 10240p flows 1024 quantum 1514 target 5ms interval 100ms
> memory_limit 32Mb ecn drop_batch 64 qdisc fq_codel 0: parent :2 limit
> 10240p flows 1024 quantum 1514 target 5ms interval 100ms memory_limit
> 32Mb ecn drop_batch 64 qdisc fq_codel 0: parent :1 limit 10240p flows 1024
> quantum 1514 target 5ms interval 100ms memory_limit 32Mb ecn drop_batch
> 64 tc qdisc add dev <ethX> root mqprio num_tc 2 map 1 0 0 0 0 0 0 0 queues
> 1 at 0 1 at 1 hw 1 mode channel shaper bw_rlimit max_rate 5000Mbit 150Mbit
> tc qdisc show dev <ethX> qdisc mqprio 8003: root tc 2 map 1 0 0 0 0 0 0 0 0 0 0
> 0 0 0 0 0
>              queues:(0:0) (1:1)
>              mode:channel
>              shaper:bw_rlimit   max_rate:5Gbit 150Mbit
> qdisc fq_codel 0: parent 8003:4 limit 10240p flows 1024 quantum 1514 target
> 5ms interval 100ms memory_limit 32Mb ecn drop_batch 64 qdisc fq_codel 0:
> parent 8003:3 limit 10240p flows 1024 quantum 1514 target 5ms interval
> 100ms memory_limit 32Mb ecn drop_batch 64 qdisc fq_codel 0: parent 8003:2
> limit 10240p flows 1024 quantum 1514 target 5ms interval 100ms
> memory_limit 32Mb ecn drop_batch 64 qdisc fq_codel 0: parent 8003:1 limit
> 10240p flows 1024 quantum 1514 target 5ms interval 100ms memory_limit
> 32Mb ecn drop_batch 64
> 
> While after fix:
> tc qdisc add dev <ethX> root mqprio num_tc 2 map 1 0 0 0 0 0 0 0 queues 1 at 0
> 1 at 1 hw 1 mode channel shaper bw_rlimit max_rate 5000Mbit 150Mbit tc
> qdisc show dev <ethX> #should show 2, shows 4 qdisc mqprio 8004: root tc 2
> map 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
>              queues:(0:0) (1:1)
>              mode:channel
>              shaper:bw_rlimit   max_rate:5Gbit 150Mbit
> qdisc fq_codel 0: parent 8004:2 limit 10240p flows 1024 quantum 1514 target
> 5ms interval 100ms memory_limit 32Mb ecn drop_batch 64 qdisc fq_codel 0:
> parent 8004:1 limit 10240p flows 1024 quantum 1514 target 5ms interval
> 100ms memory_limit 32Mb ecn drop_batch 64
> 
> Fixes: d5b33d024496 ("i40evf: add ndo_setup_tc callback to i40evf")
> Signed-off-by: Przemyslaw Patynowski <przemyslawx.patynowski at intel.com>
> Signed-off-by: Grzegorz Szczurek <grzegorzx.szczurek at intel.com>
> Signed-off-by: Kiran Patil <kiran.patil at intel.com>
> Signed-off-by: Jedrzej Jagielski <jedrzej.jagielski at intel.com>
> ---
> v2: little tweaks in commit msg and iavf_main.c (remove/add blank line etc)
> ---
>  drivers/net/ethernet/intel/iavf/iavf.h      |  5 +++++
>  drivers/net/ethernet/intel/iavf/iavf_main.c | 21 +++++++++++++++++++++
>  2 files changed, 26 insertions(+)
> 
Tested-by: Bharathi Sreenivas <bharathi.sreenivas at intel.com>



More information about the Intel-wired-lan mailing list