[dpdk-dev] [PATCH v7 0/8] Enable dynamic config of subport bandwidth

Dumitrescu, Cristian cristian.dumitrescu at intel.com
Tue Oct 6 21:05:05 CEST 2020



> -----Original Message-----
> From: Dharmappa, Savinay <savinay.dharmappa at intel.com>
> Sent: Tuesday, October 6, 2020 7:02 PM
> To: Dumitrescu, Cristian <cristian.dumitrescu at intel.com>; Singh, Jasvinder
> <jasvinder.singh at intel.com>; dev at dpdk.org
> Cc: Dharmappa, Savinay <savinay.dharmappa at intel.com>
> Subject: [PATCH v7 0/8] Enable dynamic config of subport bandwidth
> 
> DPDK sched library allows runtime configuration of the pipe profiles to the
> pipes of the subport once scheduler hierarchy is constructed. However, to
> change the subport level bandwidth, existing hierarchy needs to be
> dismantled and whole process of building hierarchy under subport nodes
> needs to be repeated which might result in router downtime. Furthermore,
> due to lack of dynamic configuration of the subport bandwidth profile
> configuration (shaper and Traffic class rates), the user application
> is unable to dynamically re-distribute the excess-bandwidth of one subport
> among other subports in the scheduler hierarchy. Therefore, it is also not
> possible to adjust the subport bandwidth profile in sync with dynamic
> changes in pipe profiles of subscribers who want to consume higher
> bandwidth opportunistically.
> 
> This patch series implements dynamic configuration of the subport
> bandwidth
> profile to overcome the runtime situation when group of subscribers are not
> using the allotted bandwidth and dynamic bandwidth re-distribution is
> needed the without making any structural changes in the hierarchy.
> 
> The implementation work includes refactoring the existing api and
> data structures defined for port and subport level, new APIs for
> adding subport level bandwidth profiles that can be used in runtime
> 
> Savinay Dharmappa (8):
>   sched: add support profile table
>   sched: introduce subport profile add function
>   sched: update subport rate dynamically
>   example/qos_sched: update subport rate dynamically
>   example/ip_pipeline: update subport rate dynamically
>   drivers/softnic: update subport rate dynamically
>   app/test_sched: update subport rate dynamically
>   sched: remove redundant code
> 
>  app/test/test_sched.c                         |  15 +-
>  doc/guides/rel_notes/deprecation.rst          |   6 -
>  doc/guides/rel_notes/release_20_11.rst        |   1 +
>  .../net/softnic/rte_eth_softnic_internals.h   |  11 +-
>  drivers/net/softnic/rte_eth_softnic_tm.c      | 243 +++++--
>  examples/ip_pipeline/cli.c                    |  68 +-
>  examples/ip_pipeline/tmgr.c                   | 121 +++-
>  examples/ip_pipeline/tmgr.h                   |   5 +-
>  examples/qos_sched/cfg_file.c                 | 151 ++--
>  examples/qos_sched/cfg_file.h                 |   4 +
>  examples/qos_sched/init.c                     |  21 +-
>  examples/qos_sched/main.h                     |   1 +
>  examples/qos_sched/profile.cfg                |   3 +
>  lib/librte_sched/rte_sched.c                  | 678 ++++++++++++------
>  lib/librte_sched/rte_sched.h                  |  73 +-
>  lib/librte_sched/rte_sched_version.map        |   2 +
>  16 files changed, 958 insertions(+), 445 deletions(-)
> 
> --
> 2.17.1

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



More information about the dev mailing list