From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 608E8A0543; Wed, 15 Jul 2020 20:28:07 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 1C47C2C36; Wed, 15 Jul 2020 20:28:07 +0200 (CEST) Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by dpdk.org (Postfix) with ESMTP id 2AC542C36 for ; Wed, 15 Jul 2020 20:28:05 +0200 (CEST) IronPort-SDR: 9yLKKhMghInUXqouBdTNmkR7a/43dXND5nVdxZXBs0B8t+b9A9e2Of/BtwUIlAsdisc1KAO8SZ fBBCjQR7P1jQ== X-IronPort-AV: E=McAfee;i="6000,8403,9683"; a="146754286" X-IronPort-AV: E=Sophos;i="5.75,356,1589266800"; d="scan'208";a="146754286" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga004.jf.intel.com ([10.7.209.38]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 15 Jul 2020 11:28:04 -0700 IronPort-SDR: twd5J4FWGEIuHadPEMLeCIRU/VNZImGKOGsvjtiz3Ms7FhNM3dUFmr3Iq0Br0Y8RQkNz3idgu4 VNONXN2CB2sQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.75,356,1589266800"; d="scan'208";a="430223314" Received: from silpixa00400629.ir.intel.com ([10.237.214.135]) by orsmga004.jf.intel.com with ESMTP; 15 Jul 2020 11:28:02 -0700 From: Savinay Dharmappa To: savinay.dharmappa@intel.com, jasvinder.singh@intel.com, dev@dpdk.org Date: Wed, 15 Jul 2020 19:27:55 +0100 Message-Id: <1594837677-313175-1-git-send-email-savinay.dharmappa@intel.com> X-Mailer: git-send-email 2.7.4 Subject: [dpdk-dev] [RFC PATCH 0/2] Enable dyynamic configuration of subport bandwidth profile X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 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