[dpdk-dev] [PATCH v4 00/17] sched: subport level configuration of pipe nodes
Jasvinder Singh
jasvinder.singh at intel.com
Mon Oct 14 14:09:34 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.
v4:
- remove deprecation note
- rebase on current dpdk head
- add 64-bit values support
v3:
- improve doxygen comments
v2:
- fix qsize parsing in sample application
- fix checkpatch warnings
Jasvinder Singh (17):
sched: add pipe config params to subport struct
sched: modify internal structs for config flexibility
sched: remove pipe params config from port level
sched: 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
sched: add support for 64 bit values
sched: modify internal structs and functions for 64 bit values
app/test/test_sched.c | 35 +-
doc/guides/rel_notes/deprecation.rst | 6 -
doc/guides/rel_notes/release_19_11.rst | 7 +-
drivers/net/softnic/rte_eth_softnic_tm.c | 54 +-
examples/ip_pipeline/cli.c | 89 +-
examples/ip_pipeline/tmgr.c | 25 +-
examples/ip_pipeline/tmgr.h | 9 +-
examples/qos_sched/app_thread.c | 20 +-
examples/qos_sched/cfg_file.c | 293 ++--
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 | 50 +-
lib/librte_sched/Makefile | 2 +-
lib/librte_sched/meson.build | 2 +-
lib/librte_sched/rte_approx.c | 57 +-
lib/librte_sched/rte_approx.h | 3 +-
lib/librte_sched/rte_sched.c | 1575 +++++++++++++---------
lib/librte_sched/rte_sched.h | 157 ++-
lib/librte_sched/rte_sched_common.h | 12 +-
lib/librte_sched/rte_sched_version.map | 2 +-
22 files changed, 1413 insertions(+), 1050 deletions(-)
--
2.21.0
More information about the dev
mailing list