mbox series

[RFC,0/2] Enable dyynamic configuration of subport bandwidth profile

Message ID 1594837677-313175-1-git-send-email-savinay.dharmappa@intel.com (mailing list archive)
Headers
Series Enable dyynamic configuration of subport bandwidth profile |

Message

Savinay Dharmappa July 15, 2020, 6:27 p.m. UTC
  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(-)
  

Comments

Jasvinder Singh July 16, 2020, 8:14 a.m. UTC | #1
> -----Original Message-----
> From: Dharmappa, Savinay <savinay.dharmappa@intel.com>
> Sent: Wednesday, July 15, 2020 7:28 PM
> To: Dharmappa, Savinay <savinay.dharmappa@intel.com>; Singh, Jasvinder
> <jasvinder.singh@intel.com>; dev@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