From: Guy Kaneti <g...@marvell.com> By default qp configuration flags was set with RTE_REGEX_QUEUE_PAIR_CFG_OOS_F. Changed flags default to 0. In order to set OOS flag use new argument --cfg_oos to config queue pair out of order scan.
Signed-off-by: Guy Kaneti <g...@marvell.com> --- app/test-regex/main.c | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/app/test-regex/main.c b/app/test-regex/main.c index 0d35f4583..9b19031ea 100644 --- a/app/test-regex/main.c +++ b/app/test-regex/main.c @@ -33,6 +33,7 @@ enum app_args { ARG_NUM_OF_JOBS, ARG_PERF_MODE, ARG_NUM_OF_ITERATIONS, + ARG_CFG_OOS, }; static void @@ -43,13 +44,15 @@ usage(const char *prog_name) " --data NAME: data file to use\n" " --nb_jobs: number of jobs to use\n" " --perf N: only outputs the performance data\n" - " --nb_iter N: number of iteration to run\n", + " --nb_iter N: number of iteration to run\n" + " --cfg_oos: configure regexdev queue flag out of order scan\n", prog_name); } static void args_parse(int argc, char **argv, char *rules_file, char *data_file, - uint32_t *nb_jobs, bool *perf_mode, uint32_t *nb_iterations) + uint32_t *nb_jobs, bool *perf_mode, uint32_t *nb_iterations, + uint32_t *qp_conf_flags) { char **argvopt; int opt; @@ -66,7 +69,9 @@ args_parse(int argc, char **argv, char *rules_file, char *data_file, /* Perf test only */ { "perf", 0, 0, ARG_PERF_MODE}, /* Number of iterations to run with perf test */ - { "nb_iter", 1, 0, ARG_NUM_OF_ITERATIONS} + { "nb_iter", 1, 0, ARG_NUM_OF_ITERATIONS}, + /* configure out of order scan */ + { "cfg_oos", 0, 0, ARG_CFG_OOS} }; argvopt = argv; @@ -98,6 +103,9 @@ args_parse(int argc, char **argv, char *rules_file, char *data_file, case ARG_NUM_OF_ITERATIONS: *nb_iterations = atoi(optarg); break; + case ARG_CFG_OOS: + *qp_conf_flags = RTE_REGEX_QUEUE_PAIR_CFG_OOS_F; + break; case ARG_HELP: usage("RegEx test app"); break; @@ -158,7 +166,8 @@ read_file(char *file, char **buf) static int init_port(struct rte_mempool **mbuf_mp, uint32_t nb_jobs, - uint16_t *nb_max_payload, char *rules_file, uint8_t *nb_max_matches) + uint16_t *nb_max_payload, char *rules_file, uint8_t *nb_max_matches, + uint32_t qp_conf_flags) { uint16_t id; uint16_t num_devs; @@ -171,7 +180,7 @@ init_port(struct rte_mempool **mbuf_mp, uint32_t nb_jobs, }; struct rte_regexdev_qp_conf qp_conf = { .nb_desc = 1024, - .qp_conf_flags = RTE_REGEX_QUEUE_PAIR_CFG_OOS_F, + .qp_conf_flags = qp_conf_flags, }; int res = 0; @@ -407,6 +416,7 @@ main(int argc, char **argv) bool perf_mode = 0; uint32_t nb_iterations = 0; uint8_t nb_max_matches = 0; + uint32_t qp_conf_flags = 0; int ret; ret = rte_eal_init(argc, argv); @@ -416,10 +426,10 @@ main(int argc, char **argv) argv += ret; if (argc > 1) args_parse(argc, argv, rules_file, data_file, &nb_jobs, - &perf_mode, &nb_iterations); + &perf_mode, &nb_iterations, &qp_conf_flags); ret = init_port(&mbuf_mp, nb_jobs, &nb_max_payload, rules_file, - &nb_max_matches); + &nb_max_matches, qp_conf_flags); if (ret < 0) rte_exit(EXIT_FAILURE, "init port failed\n"); ret = run_regex(mbuf_mp, nb_jobs, nb_max_payload, perf_mode, -- 2.28.0