aboutsummaryrefslogtreecommitdiff
path: root/test/performance/odp_l2fwd.c
diff options
context:
space:
mode:
authorPetri Savolainen <petri.savolainen@nokia.com>2022-04-08 14:41:19 +0300
committerPetri Savolainen <petri.savolainen@nokia.com>2022-04-27 16:18:29 +0300
commitce1c2e8f22b1f19a82f948d970567e413312e04e (patch)
treedafa8d718cf4e508a2a7cc1a7e58ebf665040dba /test/performance/odp_l2fwd.c
parent1e58f5cc05c6d5c54967d44d9e3c15c5a3ea28d8 (diff)
test: l2fwd: move prints into print_info()
Moved application option prints inside print_info(). Moved odp_sys_info_print() outside of print_info(), so that system info is printed early in application start up. Signed-off-by: Petri Savolainen <petri.savolainen@nokia.com> Reviewed-by: Tuomas Taipale <tuomas.taipale@nokia.com> Reviewed-by: Matias Elo <matias.elo@nokia.com>
Diffstat (limited to 'test/performance/odp_l2fwd.c')
-rw-r--r--test/performance/odp_l2fwd.c65
1 files changed, 38 insertions, 27 deletions
diff --git a/test/performance/odp_l2fwd.c b/test/performance/odp_l2fwd.c
index da13622cc..7ecc538aa 100644
--- a/test/performance/odp_l2fwd.c
+++ b/test/performance/odp_l2fwd.c
@@ -192,6 +192,13 @@ typedef struct {
/* Break workers loop if set to 1 */
odp_atomic_u32_t exit_threads;
+ uint32_t pkt_len;
+ uint32_t num_pkt;
+ uint32_t seg_len;
+ uint32_t vector_num;
+ uint32_t vector_max_size;
+ char cpumaskstr[ODP_CPUMASK_STR_SIZE];
+
} args_t;
/* Global pointer to args */
@@ -1734,11 +1741,10 @@ static void parse_args(int argc, char *argv[], appl_args_t *appl_args)
/*
* Print system and application info
*/
-static void print_info(appl_args_t *appl_args)
+static void print_info(void)
{
int i;
-
- odp_sys_info_print();
+ appl_args_t *appl_args = &gbl_args->appl;
printf("\n"
"odp_l2fwd options\n"
@@ -1785,6 +1791,24 @@ static void print_info(appl_args_t *appl_args)
appl_args->chksum ? "chksum " : "",
appl_args->packet_copy ? "packet_copy" : "");
}
+
+ printf("Num worker threads: %i\n", appl_args->num_workers);
+ printf("CPU mask: %s\n", gbl_args->cpumaskstr);
+
+ if (appl_args->num_groups > 0)
+ printf("num groups: %i\n", appl_args->num_groups);
+ else if (appl_args->num_groups == 0)
+ printf("group: ODP_SCHED_GROUP_ALL\n");
+ else
+ printf("group: ODP_SCHED_GROUP_WORKER\n");
+
+ printf("Packets per pool: %u\n", gbl_args->num_pkt);
+ printf("Packet length: %u\n", gbl_args->pkt_len);
+ printf("Segment length: %u\n", gbl_args->seg_len);
+ printf("Vectors per pool: %u\n", gbl_args->vector_num);
+ printf("Vector size: %u\n", gbl_args->vector_max_size);
+
+ printf("\n\n");
}
static void gbl_args_init(args_t *args)
@@ -1880,7 +1904,6 @@ int main(int argc, char *argv[])
int num_workers, num_thr;
odp_shm_t shm;
odp_cpumask_t cpumask;
- char cpumaskstr[ODP_CPUMASK_STR_SIZE];
odph_ethaddr_t new_addr;
odp_pool_param_t params;
int ret;
@@ -1953,19 +1976,18 @@ int main(int argc, char *argv[])
/* Parse and store the application arguments */
parse_args(argc, argv, &gbl_args->appl);
+ odp_sys_info_print();
+
if (sched_mode(gbl_args->appl.in_mode))
gbl_args->appl.sched_mode = 1;
- /* Print both system and application information */
- print_info(&gbl_args->appl);
-
num_workers = MAX_WORKERS;
if (gbl_args->appl.cpu_count && gbl_args->appl.cpu_count < MAX_WORKERS)
num_workers = gbl_args->appl.cpu_count;
/* Get default worker cpumask */
num_workers = odp_cpumask_default_worker(&cpumask, num_workers);
- (void)odp_cpumask_to_str(&cpumask, cpumaskstr, sizeof(cpumaskstr));
+ (void)odp_cpumask_to_str(&cpumask, gbl_args->cpumaskstr, sizeof(gbl_args->cpumaskstr));
gbl_args->appl.num_workers = num_workers;
@@ -1976,18 +1998,6 @@ int main(int argc, char *argv[])
num_groups = gbl_args->appl.num_groups;
- printf("Num worker threads: %i\n", num_workers);
- printf("First CPU: %i\n", odp_cpumask_first(&cpumask));
- printf("CPU mask: %s\n", cpumaskstr);
-
- if (num_groups > 0)
- printf("num groups: %i\n", num_groups);
- else if (num_groups == 0)
- printf("group: ODP_SCHED_GROUP_ALL\n");
- else
- printf("group: ODP_SCHED_GROUP_WORKER\n");
-
-
if (num_groups > if_count || num_groups > num_workers) {
ODPH_ERR("Too many groups. Number of groups may not exceed "
"number of interfaces or workers.\n");
@@ -2053,10 +2063,9 @@ int main(int argc, char *argv[])
}
}
- printf("Packets per pool: %u\n", num_pkt);
- printf("Packet length: %u\n", pkt_len);
- printf("Segment length: %u\n", seg_len);
- printf("\n\n");
+ gbl_args->num_pkt = num_pkt;
+ gbl_args->pkt_len = pkt_len;
+ gbl_args->seg_len = seg_len;
/* Create packet pool */
odp_pool_param_init(&params);
@@ -2095,9 +2104,8 @@ int main(int argc, char *argv[])
if (set_vector_pool_params(&params, pool_capa))
return -1;
- printf("Vectors per pool: %u\n", params.vector.num);
- printf("Vector size: %u\n", params.vector.max_size);
- printf("\n\n");
+ gbl_args->vector_num = params.vector.num;
+ gbl_args->vector_max_size = params.vector.max_size;
for (i = 0; i < num_vec_pools; i++) {
vec_pool_tbl[i] = odp_pool_create("vector pool", &params);
@@ -2201,6 +2209,9 @@ int main(int argc, char *argv[])
gbl_args->pktios[i].pktio = ODP_PKTIO_INVALID;
+ /* Print application information */
+ print_info();
+
bind_queues();
init_port_lookup_tbl();