mbox series

[00/15] sched: subport level configuration of pipe nodes

Message ID 20190823144602.58213-1-jasvinder.singh@intel.com (mailing list archive)
Headers
Series sched: subport level configuration of pipe nodes |

Message

Jasvinder Singh Aug. 23, 2019, 2:45 p.m. UTC
  This patchset refactors the dpdk qos sched library to allow subport
level configuration flexibility of the pipe nodes.

Currently, all parameters for the pipe nodes (subscribers)
configuration are part of the port level structure which forces
all groups of subscribers (pipes) in different subports to
have similar configurations in terms of their number, queue sizes,
traffic-classes, etc.

The new implementation moves pipe nodes configuration parameters
from port level to subport level structure. This allows different
subports of the same port to have different configuration for the
pipe nodes, for examples- number of pipes, queue sizes, pipe
profiles, etc.

In order to keep the implementation complexity under control, all
pipes within the same subport share the same configuration for queue
sizes.

Jasvinder Singh (15):
  sched: add pipe config params to subport struct
  sched: modify internal structs for config flexibility
  sched: remove pipe params config from port level
  shced: add pipe config to subport level
  sched: modify pipe functions for config flexibility
  sched: modify pkt enqueue for config flexibility
  sched: update memory compute to support flexiblity
  sched: update grinder functions for config flexibility
  sched: update pkt dequeue for flexible config
  sched: update queue stats read for config flexibility
  test/sched: modify tests for subport config flexibility
  net/softnic: add subport config flexibility to TM function
  ip_pipeline: add subport config flexibility to TM function
  examples/qos_sched: add subport configuration flexibility
  sched: remove redundant code

 app/test/test_sched.c                    |   35 +-
 doc/guides/rel_notes/release_19_11.rst   |    6 +-
 drivers/net/softnic/rte_eth_softnic_tm.c |   51 +-
 examples/ip_pipeline/cli.c               |   71 +-
 examples/ip_pipeline/tmgr.c              |   23 +-
 examples/ip_pipeline/tmgr.h              |    7 +-
 examples/qos_sched/app_thread.c          |    4 +-
 examples/qos_sched/cfg_file.c            |  226 ++--
 examples/qos_sched/init.c                |   54 +-
 examples/qos_sched/main.h                |    1 +
 examples/qos_sched/profile.cfg           |    5 +-
 examples/qos_sched/profile_ov.cfg        |    5 +-
 examples/qos_sched/stats.c               |   36 +-
 lib/librte_sched/Makefile                |    2 +-
 lib/librte_sched/meson.build             |    2 +-
 lib/librte_sched/rte_sched.c             | 1400 +++++++++++++---------
 lib/librte_sched/rte_sched.h             |  114 +-
 17 files changed, 1180 insertions(+), 862 deletions(-)