[PATCH net-next 0/5] Improve the taprio qdisc's relationship with its children

From: Vladimir Oltean
Date: Wed May 31 2023 - 14:33:32 EST

Has anyone received this message? I guess at least vger and kuba@xxxxxxxxxx
rejected it, because I got this bounce email:

kernel.org suspects your message is spam and rejected it.

550 5.7.350 Remote server returned message detected as spam -> 554 5.7.1
Service unavailable; Helo command [EUR04-DB3-obe.outbound.protection.outlook.com]
blocked using dbl.spamhaus.org; Error: open resolver;

Message rejected by: smtp.kernel.org

Interestingly, if I click the link above, it says "This is not due to an
issue with your email set-up", so I'm not sure what to believe...

----- Forwarded message from Vladimir Oltean <vladimir.oltean@xxxxxxx> -----

Date: Wed, 31 May 2023 20:39:23 +0300
From: Vladimir Oltean <vladimir.oltean@xxxxxxx>
To: netdev@xxxxxxxxxxxxxxx
Cc: "David S. Miller" <davem@xxxxxxxxxxxxx>, Eric Dumazet
<edumazet@xxxxxxxxxx>, Jakub Kicinski <kuba@xxxxxxxxxx>, Paolo Abeni
<pabeni@xxxxxxxxxx>, Jamal Hadi Salim <jhs@xxxxxxxxxxxx>, Cong Wang
<xiyou.wangcong@xxxxxxxxx>, Jiri Pirko <jiri@xxxxxxxxxxx>, Vinicius Costa
Gomes <vinicius.gomes@xxxxxxxxx>, linux-kernel@xxxxxxxxxxxxxxx,
intel-wired-lan@xxxxxxxxxxxxxxxx, Muhammad Husaini Zulkifli
<muhammad.husaini.zulkifli@xxxxxxxxx>, Peilin Ye <yepeilin.cs@xxxxxxxxx>,
Pedro Tammela <pctammela@xxxxxxxxxxxx>
Subject: [PATCH net-next 0/5] Improve the taprio qdisc's relationship with
its children
X-Mailer: git-send-email 2.34.1

Prompted by Vinicius' request to consolidate some child Qdisc
dereferences in taprio:

I remembered that I had left some unfinished work in this Qdisc, namely
commit af7b29b1deaa ("Revert "net/sched: taprio: make qdisc_leaf() see
the per-netdev-queue pfifo child qdiscs"").

This patch set represents another stab at, essentially, what's in the
title. Not only does taprio not properly detect when it's grafted as a
non-root qdisc, but it also returns incorrect per-class stats.
Eventually, Vinicius' request is addressed too, although in a different
form than the one he requested (which was purely cosmetic).

Review from people more experienced with Qdiscs than me would be
appreciated. I tried my best to explain what I consider to be problems.
I am deliberately targeting net-next because the changes are too
invasive for net - they were reverted from stable once already.

Vladimir Oltean (5):
net/sched: taprio: don't access q->qdiscs[] in unoffloaded mode during
net/sched: taprio: keep child Qdisc refcount elevated at 2 in offload
net/sched: taprio: try again to report q->qdiscs[] to qdisc_leaf()
net/sched: taprio: delete misleading comment about preallocating child
net/sched: taprio: dump class stats for the actual q->qdiscs[]

net/sched/sch_taprio.c | 60 ++++++++++++++++++++++++------------------
1 file changed, 35 insertions(+), 25 deletions(-)


----- End forwarded message -----