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 9D0C8A04B6; Thu, 17 Sep 2020 10:43:59 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 43F6E1D5CB; Thu, 17 Sep 2020 10:43:18 +0200 (CEST) Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by dpdk.org (Postfix) with ESMTP id 630081D5B5 for ; Thu, 17 Sep 2020 10:42:59 +0200 (CEST) IronPort-SDR: TS5MCqA/KG6UKKSaoT3p5jWuIl7H6dyOj6j9TFdukeXs0Clba71O3PXhrkEl3yCouYYcsu3Etu UtLEF6b1Nx2w== X-IronPort-AV: E=McAfee;i="6000,8403,9746"; a="157060502" X-IronPort-AV: E=Sophos;i="5.76,436,1592895600"; d="scan'208";a="157060502" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga006.jf.intel.com ([10.7.209.51]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Sep 2020 01:42:58 -0700 IronPort-SDR: 4IWQdINc42ZLhMl0D4kIz+DpKqKg1KQqWnWWM7jlbkLmebbBITFPB6S0qn2W2BOCBb+6LNAXWy zZM3jMh1ZzGA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.76,436,1592895600"; d="scan'208";a="307385717" Received: from silpixa00400629.ir.intel.com ([10.237.214.135]) by orsmga006.jf.intel.com with ESMTP; 17 Sep 2020 01:42:57 -0700 From: Savinay Dharmappa To: jasvinder.singh@intel.com, cristian.dumitrescu@intel.com, dev@dpdk.org Cc: savinay.dharmappa@intel.com Date: Thu, 17 Sep 2020 09:42:38 +0100 Message-Id: <1600332159-26018-9-git-send-email-savinay.dharmappa@intel.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1600332159-26018-1-git-send-email-savinay.dharmappa@intel.com> References: <1600274633-371993-1-git-send-email-savinay.dharmappa@intel.com> <1600332159-26018-1-git-send-email-savinay.dharmappa@intel.com> Subject: [dpdk-dev] [PATCH v4 8/9] app/test_sched: add dynamic config of subport 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" Modify the test_sched application to build the hierarchical scheduler with default subport bandwidth profile. It also allows to configure a subport with different subport bandwidth profile dynamically Signed-off-by: Savinay Dharmappa --- app/test/test_sched.c | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/app/test/test_sched.c b/app/test/test_sched.c index fc31080..8d1eb25 100644 --- a/app/test/test_sched.c +++ b/app/test/test_sched.c @@ -21,6 +21,7 @@ #define PIPE 1 #define TC 2 #define QUEUE 0 +#define MAX_SCHED_SUBPORT_PROFILES 8 static struct rte_sched_pipe_params pipe_profile[] = { { /* Profile #0 */ @@ -36,15 +37,20 @@ static struct rte_sched_pipe_params pipe_profile[] = { }, }; -static struct rte_sched_subport_params subport_param[] = { +static struct rte_sched_subport_profile_params + subport_profile[] = { { .tb_rate = 1250000000, .tb_size = 1000000, - .tc_rate = {1250000000, 1250000000, 1250000000, 1250000000, 1250000000, 1250000000, 1250000000, 1250000000, 1250000000, 1250000000, 1250000000, 1250000000, 1250000000}, .tc_period = 10, + }, +}; + +static struct rte_sched_subport_params subport_param[] = { + { .n_pipes_per_subport_enabled = 1024, .qsize = {32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32}, .pipe_profiles = pipe_profile, @@ -59,6 +65,9 @@ static struct rte_sched_port_params port_param = { .mtu = 1522, .frame_overhead = RTE_SCHED_FRAME_OVERHEAD_DEFAULT, .n_subports_per_port = 1, + .n_subport_profiles = 1, + .subport_profiles = subport_profile, + .n_max_subport_profiles = MAX_SCHED_SUBPORT_PROFILES, .n_pipes_per_subport = 1024, }; @@ -66,6 +75,7 @@ static struct rte_sched_port_params port_param = { #define MBUF_DATA_SZ (2048 + RTE_PKTMBUF_HEADROOM) #define MEMPOOL_CACHE_SZ 0 #define SOCKET 0 +#define DEFAULT_PROFILE 0 static struct rte_mempool * @@ -141,6 +151,10 @@ test_sched(void) err = rte_sched_subport_config(port, SUBPORT, subport_param); TEST_ASSERT_SUCCESS(err, "Error config sched, err=%d\n", err); + err = rte_sched_subport_profile_config(port, SUBPORT, + DEFAULT_PROFILE); + TEST_ASSERT_SUCCESS(err, "Error config sched, err=%d\n", err); + for (pipe = 0; pipe < subport_param[0].n_pipes_per_subport_enabled; pipe++) { err = rte_sched_pipe_config(port, SUBPORT, pipe, 0); TEST_ASSERT_SUCCESS(err, "Error config sched pipe %u, err=%d\n", pipe, err); -- 2.7.4