diff options
author | Petri Savolainen <petri.savolainen@nokia.com> | 2022-04-08 14:41:19 +0300 |
---|---|---|
committer | Petri Savolainen <petri.savolainen@nokia.com> | 2022-04-27 16:18:29 +0300 |
commit | ce1c2e8f22b1f19a82f948d970567e413312e04e (patch) | |
tree | dafa8d718cf4e508a2a7cc1a7e58ebf665040dba /test/performance/odp_l2fwd.c | |
parent | 1e58f5cc05c6d5c54967d44d9e3c15c5a3ea28d8 (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.c | 65 |
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(¶ms); @@ -2095,9 +2104,8 @@ int main(int argc, char *argv[]) if (set_vector_pool_params(¶ms, 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", ¶ms); @@ -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(); |