Skip to content

net: sched: fix stats accounting for child NOLOCK qdiscs

Paolo Abeni netdev 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest2 patches 1 replyIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/2net: sched: introduce and use qstats read helpersinclude/net/sch_generic.h net/sched/sch_cbq.c net/sched/sch_drr.c +8 more+36 -170 replies
2/2net: sched: introduce and use qdisc tree flush/purge helpersinclude/net/sch_generic.h net/sched/sch_cbq.c net/sched/sch_drr.c +8 more+35 -730 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [PATCH net 0/2] net: sched: fix stats accounting for child NOLOCK qdiscs

Currently, stats accounting for NOLOCK qdisc enslaved to classful (lock) qdiscs is buggy. Per CPU values are ignored in most places, as a result, stats dump in the above scenario always report 0 length backlog and parent backlog len is not updated correctly on NOLOCK qdisc removal.

The first patch address stats dumping, and the second one child qdisc removal. I'm targeting the net tree as this is a bugfix, but it could be moved to net-next due to the relatively large diffstat.

Paolo Abeni (2):
net: sched: introduce and use qstats read helpers
net: sched: introduce and use qdisc tree flush/purge helpers

 include/net/sch_generic.h | 44 ++++++++++++++++++++++++++++++++-------
 net/sched/sch_cbq.c       | 10 ++++-----
 net/sched/sch_drr.c       | 16 ++++----------
 net/sched/sch_hfsc.c      | 19 +++++------------
 net/sched/sch_htb.c       | 22 ++++++--------------
 net/sched/sch_mq.c        |  2 +-
 net/sched/sch_mqprio.c    |  3 +--
 net/sched/sch_multiq.c    | 10 ++++-----
 net/sched/sch_prio.c      | 10 +++------
 net/sched/sch_qfq.c       | 14 ++-----------
 net/sched/sch_red.c       |  3 +--
 net/sched/sch_sfb.c       |  3 +--
 net/sched/sch_taprio.c    |  2 +-
 net/sched/sch_tbf.c       |  3 +--
 14 files changed, 71 insertions(+), 90 deletions(-)
Signature · 1 line
2.20.1