From: Savinay Dharmappa <savinay.dharmappa@intel.com> To: jasvinder.singh@intel.com, cristian.dumitrescu@intel.com, dev@dpdk.org Cc: savinay.dharmappa@intel.com Subject: [dpdk-dev] [PATCH v3 0/9] Enable dynamic config of subport bandwidth Date: Wed, 16 Sep 2020 17:43:44 +0100 Message-ID: <1600274633-371993-1-git-send-email-savinay.dharmappa@intel.com> (raw) In-Reply-To: <1599763717-135002-1-git-send-email-savinay.dharmappa@intel.com> 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 data structures defined for port and subport level, new APIs for adding subport level bandwidth profiles that can be used in runtime. Savinay Dharmappa (9): sched: add support profile data structure sched: add subport profile table sched: add subport profile add and config api sched: update grinder credit and pipe config function example/qos_sched: add dynamic config of subport example/ip_pipeline: add dynamic config of subport drivers/softnic: add dynamic config of subport app/test_sched: add dynamic config of subport sched: remove the redundant code app/test/test_sched.c | 18 +- doc/guides/rel_notes/deprecation.rst | 6 - doc/guides/rel_notes/release_20_11.rst | 4 + drivers/net/softnic/rte_eth_softnic_internals.h | 9 + drivers/net/softnic/rte_eth_softnic_tm.c | 223 ++++++++--- examples/ip_pipeline/cli.c | 14 +- examples/ip_pipeline/tmgr.c | 26 +- examples/ip_pipeline/tmgr.h | 3 +- examples/qos_sched/cfg_file.c | 151 ++++---- 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 | 479 +++++++++++++++++------- lib/librte_sched/rte_sched.h | 82 +++- lib/librte_sched/rte_sched_version.map | 2 + 16 files changed, 771 insertions(+), 278 deletions(-) -- 2.7.4
next prev parent reply other threads:[~2020-09-16 16:45 UTC|newest] Thread overview: 107+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-07-15 18:27 [dpdk-dev] [RFC PATCH 0/2] Enable dyynamic configuration of subport bandwidth profile Savinay Dharmappa 2020-07-15 18:27 ` [dpdk-dev] [RFC PATCH 1/2] sched: add dynamic config " Savinay Dharmappa 2020-07-16 8:14 ` Singh, Jasvinder 2020-07-20 11:20 ` Dumitrescu, Cristian 2020-07-20 11:21 ` Dumitrescu, Cristian 2020-09-02 8:56 ` [dpdk-dev] [PATCH v1 1/4] " Savinay Dharmappa 2020-09-02 8:56 ` [dpdk-dev] [PATCH v1 2/4] " Savinay Dharmappa 2020-09-02 8:56 ` [dpdk-dev] [PATCH v1 3/4] " Savinay Dharmappa 2020-09-02 8:56 ` [dpdk-dev] [PATCH v1 4/4] " Savinay Dharmappa 2020-09-10 18:48 ` [dpdk-dev] [PATCH v2 00/10] Enable dynamic config of subport bandwidth Savinay Dharmappa 2020-09-10 18:48 ` [dpdk-dev] [PATCH v2 01/10] sched: add support profile data structure Savinay Dharmappa 2020-09-10 18:48 ` [dpdk-dev] [PATCH v2 02/10] sched: add subport profile table Savinay Dharmappa 2020-09-10 18:48 ` [dpdk-dev] [PATCH v2 03/10] sched: add subport profile add and config api Savinay Dharmappa 2020-09-14 14:05 ` Singh, Jasvinder 2020-09-10 18:48 ` [dpdk-dev] [PATCH v2 04/10] sched: update the grinder credit update function Savinay Dharmappa 2020-09-10 18:48 ` [dpdk-dev] [PATCH v2 05/10] sched: update the pipe config api implementation Savinay Dharmappa 2020-09-14 14:26 ` Singh, Jasvinder 2020-09-10 18:48 ` [dpdk-dev] [PATCH v2 06/10] example/qos_sched: add dynamic config of subport Savinay Dharmappa 2020-09-10 18:48 ` [dpdk-dev] [PATCH v2 07/10] example/ip_pipeline: " Savinay Dharmappa 2020-09-10 18:48 ` [dpdk-dev] [PATCH v2 08/10] drivers/softnic: " Savinay Dharmappa 2020-09-10 18:48 ` [dpdk-dev] [PATCH v2 09/10] app/test_sched: " Savinay Dharmappa 2020-09-10 18:48 ` [dpdk-dev] [PATCH v2 10/10] sched: remove the redundant code Savinay Dharmappa 2020-09-16 16:43 ` Savinay Dharmappa [this message] 2020-09-16 16:43 ` [dpdk-dev] [PATCH v3 1/9] sched: add support profile data structure Savinay Dharmappa 2020-09-16 16:43 ` [dpdk-dev] [PATCH v3 2/9] sched: add subport profile table Savinay Dharmappa 2020-09-16 16:43 ` [dpdk-dev] [PATCH v3 3/9] sched: add subport profile add and config api Savinay Dharmappa 2020-09-16 16:43 ` [dpdk-dev] [PATCH v3 4/9] sched: update grinder credit and pipe config function Savinay Dharmappa 2020-09-16 16:43 ` [dpdk-dev] [PATCH v3 5/9] example/qos_sched: add dynamic config of subport Savinay Dharmappa 2020-09-16 16:43 ` [dpdk-dev] [PATCH v3 6/9] example/ip_pipeline: " Savinay Dharmappa 2020-09-16 16:43 ` [dpdk-dev] [PATCH v3 7/9] drivers/softnic: " Savinay Dharmappa 2020-09-16 16:43 ` [dpdk-dev] [PATCH v3 8/9] app/test_sched: " Savinay Dharmappa 2020-09-16 16:43 ` [dpdk-dev] [PATCH v3 9/9] sched: remove the redundant code Savinay Dharmappa 2020-09-17 8:42 ` [dpdk-dev] [PATCH v4 0/9] Enable dynamic config of subport bandwidth Savinay Dharmappa 2020-09-17 8:42 ` [dpdk-dev] [PATCH v4 1/9] sched: add support profile data structure Savinay Dharmappa 2020-09-17 8:42 ` [dpdk-dev] [PATCH v4 2/9] sched: add subport profile table Savinay Dharmappa 2020-09-17 8:42 ` [dpdk-dev] [PATCH v4 3/9] sched: add subport profile add and config api Savinay Dharmappa 2020-09-29 21:19 ` Dumitrescu, Cristian 2020-09-17 8:42 ` [dpdk-dev] [PATCH v4 4/9] sched: update grinder credit and pipe config function Savinay Dharmappa 2020-09-17 8:42 ` [dpdk-dev] [PATCH v4 5/9] example/qos_sched: add dynamic config of subport Savinay Dharmappa 2020-09-17 8:42 ` [dpdk-dev] [PATCH v4 6/9] example/ip_pipeline: " Savinay Dharmappa 2020-09-29 21:23 ` Dumitrescu, Cristian 2020-09-17 8:42 ` [dpdk-dev] [PATCH v4 7/9] drivers/softnic: " Savinay Dharmappa 2020-09-17 8:42 ` [dpdk-dev] [PATCH v4 8/9] app/test_sched: " Savinay Dharmappa 2020-09-17 8:42 ` [dpdk-dev] [PATCH v4 9/9] sched: remove the redundant code Savinay Dharmappa 2020-09-30 19:24 ` [dpdk-dev] [PATCH v5 0/9] Enable dynamic config of subport bandwidth Savinay Dharmappa 2020-09-30 19:24 ` [dpdk-dev] [PATCH v5 1/9] sched: add support profile table Savinay Dharmappa 2020-09-30 19:24 ` [dpdk-dev] [PATCH v5 2/9] sched: add subport profile add api Savinay Dharmappa 2020-09-30 19:24 ` [dpdk-dev] [PATCH v5 3/9] sched : add dynamic config of subport bandwidth Savinay Dharmappa 2020-09-30 19:24 ` [dpdk-dev] [PATCH v5 4/9] sched: update grinder credit and pipe config function Savinay Dharmappa 2020-09-30 19:24 ` [dpdk-dev] [PATCH v5 5/9] example/qos_sched: add dynamic config of subport Savinay Dharmappa 2020-09-30 19:24 ` [dpdk-dev] [PATCH v5 6/9] example/ip_pipeline: " Savinay Dharmappa 2020-09-30 19:24 ` [dpdk-dev] [PATCH v5 7/9] drivers/softnic: " Savinay Dharmappa 2020-09-30 19:24 ` [dpdk-dev] [PATCH v5 8/9] app/test_sched: " Savinay Dharmappa 2020-09-30 19:24 ` [dpdk-dev] [PATCH v5 9/9] sched : remove redundant code Savinay Dharmappa 2020-10-06 15:27 ` [dpdk-dev] [PATCH v6 0/8] Enable dynamic config of subport bandwidth Savinay Dharmappa 2020-10-06 15:27 ` [dpdk-dev] [PATCH v6 1/8] sched: add support profile table Savinay Dharmappa 2020-10-06 15:27 ` [dpdk-dev] [PATCH v6 2/8] sched: introduce subport profile add function Savinay Dharmappa 2020-10-06 15:27 ` [dpdk-dev] [PATCH v6 3/8] sched: update subport rate dynamically Savinay Dharmappa 2020-10-06 15:27 ` [dpdk-dev] [PATCH v6 4/8] example/qos_sched: " Savinay Dharmappa 2020-10-06 15:27 ` [dpdk-dev] [PATCH v6 5/8] example/ip_pipeline: " Savinay Dharmappa 2020-10-06 15:27 ` [dpdk-dev] [PATCH v6 6/8] drivers/softnic: " Savinay Dharmappa 2020-10-06 15:27 ` [dpdk-dev] [PATCH v6 7/8] app/test_sched: " Savinay Dharmappa 2020-10-06 15:27 ` [dpdk-dev] [PATCH v6 8/8] sched: remove redundant code Savinay Dharmappa 2020-10-06 15:52 ` [dpdk-dev] [PATCH v6 0/8] Enable dynamic config of subport bandwidth Dumitrescu, Cristian 2020-10-06 18:02 ` [dpdk-dev] [PATCH v7 " Savinay Dharmappa 2020-10-06 18:02 ` [dpdk-dev] [PATCH v7 1/8] sched: add support profile table Savinay Dharmappa 2020-10-06 18:02 ` [dpdk-dev] [PATCH v7 2/8] sched: introduce subport profile add function Savinay Dharmappa 2020-10-06 18:02 ` [dpdk-dev] [PATCH v7 3/8] sched: update subport rate dynamically Savinay Dharmappa 2020-10-06 18:02 ` [dpdk-dev] [PATCH v7 4/8] example/qos_sched: " Savinay Dharmappa 2020-10-06 18:02 ` [dpdk-dev] [PATCH v7 5/8] example/ip_pipeline: " Savinay Dharmappa 2020-10-06 18:02 ` [dpdk-dev] [PATCH v7 6/8] drivers/softnic: " Savinay Dharmappa 2020-10-06 18:02 ` [dpdk-dev] [PATCH v7 7/8] app/test_sched: " Savinay Dharmappa 2020-10-06 18:02 ` [dpdk-dev] [PATCH v7 8/8] sched: remove redundant code Savinay Dharmappa 2020-10-06 19:05 ` [dpdk-dev] [PATCH v7 0/8] Enable dynamic config of subport bandwidth Dumitrescu, Cristian 2020-10-07 14:09 ` [dpdk-dev] [PATCH v8 " Savinay Dharmappa 2020-10-07 14:09 ` [dpdk-dev] [PATCH v8 1/8] sched: add support profile table Savinay Dharmappa 2020-10-07 14:09 ` [dpdk-dev] [PATCH v8 2/8] sched: introduce subport profile add function Savinay Dharmappa 2020-10-07 14:09 ` [dpdk-dev] [PATCH v8 3/8] sched: update subport rate dynamically Savinay Dharmappa 2020-10-07 14:09 ` [dpdk-dev] [PATCH v8 4/8] example/qos_sched: " Savinay Dharmappa 2020-10-07 14:09 ` [dpdk-dev] [PATCH v8 5/8] example/ip_pipeline: " Savinay Dharmappa 2020-10-07 14:09 ` [dpdk-dev] [PATCH v8 6/8] drivers/softnic: " Savinay Dharmappa 2020-10-07 14:09 ` [dpdk-dev] [PATCH v8 7/8] app/test_sched: " Savinay Dharmappa 2020-10-07 14:09 ` [dpdk-dev] [PATCH v8 8/8] sched: remove redundant code Savinay Dharmappa 2020-10-09 8:28 ` Thomas Monjalon 2020-10-09 12:39 ` [dpdk-dev] [PATCH v9 0/8] Enable dynamic config of subport bandwidth Savinay Dharmappa 2020-10-09 12:39 ` [dpdk-dev] [PATCH v9 1/8] sched: add support profile table Savinay Dharmappa 2020-10-09 12:39 ` [dpdk-dev] [PATCH v9 2/8] sched: introduce subport profile add function Savinay Dharmappa 2020-10-09 12:39 ` [dpdk-dev] [PATCH v9 3/8] sched: update subport rate dynamically Savinay Dharmappa 2020-10-09 12:39 ` [dpdk-dev] [PATCH v9 4/8] example/qos_sched: " Savinay Dharmappa 2020-10-09 12:39 ` [dpdk-dev] [PATCH v9 5/8] example/ip_pipeline: " Savinay Dharmappa 2020-10-09 12:39 ` [dpdk-dev] [PATCH v9 6/8] drivers/softnic: " Savinay Dharmappa 2020-10-09 12:39 ` [dpdk-dev] [PATCH v9 7/8] app/test_sched: " Savinay Dharmappa 2020-10-09 12:39 ` [dpdk-dev] [PATCH v9 8/8] sched: remove redundant code Savinay Dharmappa 2020-10-11 20:11 ` [dpdk-dev] [PATCH v9 0/8] Enable dynamic config of subport bandwidth Thomas Monjalon 2020-10-12 5:24 ` Dharmappa, Savinay 2020-10-12 23:08 ` Dharmappa, Savinay 2020-10-13 13:56 ` Dharmappa, Savinay 2020-10-13 14:06 ` Thomas Monjalon 2020-10-15 0:17 ` Thomas Monjalon 2020-07-15 18:27 ` [dpdk-dev] [RFC PATCH 2/2] example/qos_sched: subport bandwidth profile config Savinay Dharmappa 2020-07-16 8:14 ` Singh, Jasvinder 2020-09-02 9:07 ` [dpdk-dev] [PATCH v1 1/4] example/qos_sched: subport bandwidth dynmaic conf Savinay Dharmappa 2020-09-02 9:07 ` [dpdk-dev] [PATCH v1 2/4] example/ip_pipeline: " Savinay Dharmappa 2020-09-02 9:07 ` [dpdk-dev] [PATCH v1 3/4] drivers/softnic: subport bandwidth profile config Savinay Dharmappa 2020-09-02 9:07 ` [dpdk-dev] [PATCH v1 4/4] app/test_sched: " Savinay Dharmappa 2020-09-02 10:46 ` [dpdk-dev] [PATCH v1 1/4] example/qos_sched: subport bandwidth dynmaic conf Dharmappa, Savinay 2020-07-16 8:14 ` [dpdk-dev] [RFC PATCH 0/2] Enable dyynamic configuration of subport bandwidth profile Singh, Jasvinder
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=1600274633-371993-1-git-send-email-savinay.dharmappa@intel.com \ --to=savinay.dharmappa@intel.com \ --cc=cristian.dumitrescu@intel.com \ --cc=dev@dpdk.org \ --cc=jasvinder.singh@intel.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
DPDK patches and discussions This inbox may be cloned and mirrored by anyone: git clone --mirror https://inbox.dpdk.org/dev/0 dev/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 dev dev/ https://inbox.dpdk.org/dev \ dev@dpdk.org public-inbox-index dev Example config snippet for mirrors. Newsgroup available over NNTP: nntp://inbox.dpdk.org/inbox.dpdk.dev AGPL code for this site: git clone https://public-inbox.org/public-inbox.git