[dpdk-dev] [PATCH v4 8/9] app/test_sched: add dynamic config of subport
Savinay Dharmappa
savinay.dharmappa at intel.com
Thu Sep 17 10:42:38 CEST 2020
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 <savinay.dharmappa at intel.com>
---
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
More information about the dev
mailing list