[dpdk-dev] [RFC PATCH 0/2] Enable dyynamic configuration of subport bandwidth profile

Singh, Jasvinder jasvinder.singh at intel.com
Thu Jul 16 10:14:07 CEST 2020



> -----Original Message-----
> From: Dharmappa, Savinay <savinay.dharmappa at intel.com>
> Sent: Wednesday, July 15, 2020 7:28 PM
> To: Dharmappa, Savinay <savinay.dharmappa at intel.com>; Singh, Jasvinder
> <jasvinder.singh at intel.com>; dev at dpdk.org
> Subject: [RFC PATCH 0/2] Enable dyynamic configuration of subport
> bandwidth profile
> 
> 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 RFC proposes 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 data structures
> defined for port and subport level, new APIs for adding subport level
> bandwidth profiles that can be used in runtime which causes API/ABI change.
> Therefore, deprecation notice will be sent out soon.
> 
> Savinay Dharmappa (2):
>   sched: add dynamic config of subport bandwidth profile
>   example/qos_sched: subport bandwidth dynmaic conf
> 
>  examples/qos_sched/cfg_file.c          | 158 ++++++-----
>  examples/qos_sched/cfg_file.h          |   4 +
>  examples/qos_sched/init.c              |  24 +-
>  examples/qos_sched/main.h              |   1 +
>  examples/qos_sched/profile.cfg         |   3 +
>  lib/librte_sched/rte_sched.c           | 486 ++++++++++++++++++++++++---------
>  lib/librte_sched/rte_sched.h           |  82 +++++-
>  lib/librte_sched/rte_sched_version.map |   2 +
>  8 files changed, 544 insertions(+), 216 deletions(-)
> 
> --
> 2.7.4

+ Cristian


More information about the dev mailing list