last changes to make this series "more acceptable": - RTE_SCHED_CMAN in rte_config.h, replacing RTE_SCHED_RED - test file listed in MAINTAINERS - few whitespaces fixed
From: Wojciech Liguzinski <wojciechx.liguzin...@intel.com> DPDK sched library is equipped with mechanism that secures it from the bufferbloat problem which is a situation when excess buffers in the network cause high latency and latency variation. Currently, it supports RED for active queue management. However, more advanced queue management is required to address this problem and provide desirable quality of service to users. This solution (RFC) proposes usage of new algorithm called "PIE" (Proportional Integral controller Enhanced) that can effectively and directly control queuing latency to address the bufferbloat problem. The implementation of mentioned functionality includes modification of existing and adding a new set of data structures to the library, adding PIE related APIs. This affects structures in public API/ABI. That is why deprecation notice is going to be prepared and sent. Wojciech Liguzinski (3): sched: add PIE based congestion management examples/qos_sched: support PIE congestion management examples/ip_pipeline: support PIE congestion management MAINTAINERS | 1 + app/test/meson.build | 4 + app/test/test_pie.c | 1065 ++++++++++++++++++ config/rte_config.h | 2 +- doc/guides/prog_guide/glossary.rst | 3 + doc/guides/prog_guide/qos_framework.rst | 64 +- doc/guides/prog_guide/traffic_management.rst | 13 +- drivers/net/softnic/rte_eth_softnic_tm.c | 6 +- examples/ip_pipeline/tmgr.c | 142 +-- examples/qos_sched/cfg_file.c | 127 ++- examples/qos_sched/cfg_file.h | 5 + examples/qos_sched/init.c | 27 +- examples/qos_sched/main.h | 3 + examples/qos_sched/profile.cfg | 196 ++-- lib/sched/meson.build | 3 +- lib/sched/rte_pie.c | 86 ++ lib/sched/rte_pie.h | 396 +++++++ lib/sched/rte_sched.c | 256 +++-- lib/sched/rte_sched.h | 64 +- lib/sched/version.map | 4 + 20 files changed, 2185 insertions(+), 282 deletions(-) create mode 100644 app/test/test_pie.c create mode 100644 lib/sched/rte_pie.c create mode 100644 lib/sched/rte_pie.h -- 2.33.0