[dpdk-dev] [PATCH v3 00/15] sched: subport level configuration of pipe nodes

Jasvinder Singh jasvinder.singh at intel.com
Thu Sep 26 10:52:17 CEST 2019


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.

Acked-by: Cristian Dumitrescu <cristian.dumitrescu at intel.com>

v3:
- improve doxygen comments
- remove n_max_pipe_profiles parameter from struct rte_sched_port_params
- rename n_max_pipes_per_subport in struct rte_sched_port_params
  to n_pipes_per_subport
- rename n_pipes_per_subport in struct rte_sched_subport_params
  to n_pipes_per_subport_enabled
- rename rte_sched_port_pipe_profile_add() to
  rte_sched_subport_pipe_profile_add()  

v2:
- fix qsize parsing in sample application
- fix checkpatch warnings

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
  ip_pipeline: add subport config flexibility to TM
  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 |   54 +-
 examples/ip_pipeline/cli.c               |   71 +-
 examples/ip_pipeline/tmgr.c              |   25 +-
 examples/ip_pipeline/tmgr.h              |    7 +-
 examples/qos_sched/app_thread.c          |   20 +-
 examples/qos_sched/cfg_file.c            |  229 ++--
 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               |   44 +-
 lib/librte_sched/Makefile                |    2 +-
 lib/librte_sched/meson.build             |    2 +-
 lib/librte_sched/rte_sched.c             | 1394 +++++++++++++---------
 lib/librte_sched/rte_sched.h             |  129 +-
 lib/librte_sched/rte_sched_version.map   |    2 +-
 18 files changed, 1212 insertions(+), 873 deletions(-)

-- 
2.21.0



More information about the dev mailing list