test/sched: update subport rate dynamically
authorSavinay Dharmappa <savinay.dharmappa@intel.com>
Fri, 9 Oct 2020 12:39:18 +0000 (13:39 +0100)
committerThomas Monjalon <thomas@monjalon.net>
Thu, 15 Oct 2020 00:14:21 +0000 (02:14 +0200)
Modify the test_sched application to build the hierarchical scheduler
with default subport bandwidth profile. It also allows to update
a subport with different subport rates dynamically

Signed-off-by: Savinay Dharmappa <savinay.dharmappa@intel.com>
Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
app/test/test_sched.c

index 5e5c2a5..958b631 100644 (file)
@@ -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,
 };