Merge branch 'net-sched-prepare-for-more-Qdisc-offloads'
authorDavid S. Miller <davem@davemloft.net>
Fri, 9 Nov 2018 00:19:48 +0000 (16:19 -0800)
committerDavid S. Miller <davem@davemloft.net>
Fri, 9 Nov 2018 00:19:48 +0000 (16:19 -0800)
commit3ed3857011cf249e9e1e36abc77afd2e97de5994
tree438bdeb87c63b301271e3666d4beeba899d6fa0b
parent80b6265c0f4c2bdafb73f09da9f278a8b3752928
parent7b8e0b6e659983154c8d7e756cdb833d89a3d4d7
Merge branch 'net-sched-prepare-for-more-Qdisc-offloads'

Jakub Kicinski says:

====================
net: sched: prepare for more Qdisc offloads

This series refactors the "switchdev" Qdisc offloads a little.  We have
a few Qdiscs which can be fully offloaded today to the forwarding plane
of switching devices.

First patch adds a helper for handing statistic dumps, the code seems
to be copy pasted between PRIO and RED.  Second patch removes unnecessary
parameter from RED offload function.  Third patch makes the MQ offload
use the dump helper which helps it behave much like PRIO and RED when
it comes to the TCQ_F_OFFLOADED flag.  Patch 4 adds a graft helper,
similar to the dump helper.

Patch 5 is unrelated to offloads, qdisc_graft() code seemed ripe for a
small refactor - no functional changes there.

Last two patches move the qdisc_put() call outside of the sch_tree_lock
section for RED and PRIO.  The child Qdiscs will get removed from the
hierarchy under the lock, but having the put (and potentially destroy)
called outside of the lock helps offload which may choose to sleep,
and it should generally lower the Qdisc change impact.
====================

Signed-off-by: David S. Miller <davem@davemloft.net>