All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH net-next 0/7] net: sched: prepare for more Qdisc offloads
@ 2018-11-08  1:33 Jakub Kicinski
  2018-11-08  1:33 ` [PATCH net-next 1/7] net: sched: add an offload dump helper Jakub Kicinski
                   ` (8 more replies)
  0 siblings, 9 replies; 12+ messages in thread
From: Jakub Kicinski @ 2018-11-08  1:33 UTC (permalink / raw)
  To: davem
  Cc: netdev, oss-drivers, jiri, xiyou.wangcong, jhs, nogah.frankel,
	yuvalm, Jakub Kicinski

Hi!

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.

Jakub Kicinski (7):
  net: sched: add an offload dump helper
  net: sched: red: remove unnecessary red_dump_offload_stats parameter
  net: sched: set TCQ_F_OFFLOADED flag for MQ
  net: sched: add an offload graft helper
  net: sched: refactor grafting Qdiscs with a parent
  net: sched: red: delay destroying child qdisc on replace
  net: sched: prio: delay destroying child qdiscs on change

 include/net/sch_generic.h | 24 ++++++++++++
 net/sched/sch_api.c       | 78 ++++++++++++++++++++++++++++++++-------
 net/sched/sch_mq.c        |  9 ++---
 net/sched/sch_prio.c      | 47 ++++-------------------
 net/sched/sch_red.c       | 29 +++++----------
 5 files changed, 107 insertions(+), 80 deletions(-)

-- 
2.17.1

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2018-11-09  9:58 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-11-08  1:33 [PATCH net-next 0/7] net: sched: prepare for more Qdisc offloads Jakub Kicinski
2018-11-08  1:33 ` [PATCH net-next 1/7] net: sched: add an offload dump helper Jakub Kicinski
2018-11-08  1:33 ` [PATCH net-next 2/7] net: sched: red: remove unnecessary red_dump_offload_stats parameter Jakub Kicinski
2018-11-08  1:33 ` [PATCH net-next 3/7] net: sched: set TCQ_F_OFFLOADED flag for MQ Jakub Kicinski
2018-11-08  1:33 ` [PATCH net-next 4/7] net: sched: add an offload graft helper Jakub Kicinski
2018-11-08  1:33 ` [PATCH net-next 5/7] net: sched: refactor grafting Qdiscs with a parent Jakub Kicinski
2018-11-08  1:33 ` [PATCH net-next 6/7] net: sched: red: delay destroying child qdisc on replace Jakub Kicinski
2018-11-08  1:33 ` [PATCH net-next 7/7] net: sched: prio: delay destroying child qdiscs on change Jakub Kicinski
2018-11-08 11:48 ` [PATCH net-next 0/7] net: sched: prepare for more Qdisc offloads Toke Høiland-Jørgensen
2018-11-08 16:02   ` Jakub Kicinski
2018-11-08 21:20     ` Toke Høiland-Jørgensen
2018-11-09  0:20 ` David Miller

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.