[dpdk-dev] [PATCH v2 3/4] app/eventdev: add options to configure event timer adapter

Pavan Nikhilesh pbhagavatula at caviumnetworks.com
Tue Apr 3 18:01:33 CEST 2018


Add options to configure expiry timeout, max number of timers and number
of event timer adapters through command line parameters.

Signed-off-by: Pavan Nikhilesh <pbhagavatula at caviumnetworks.com>
---
 app/test-eventdev/evt_options.c | 65 +++++++++++++++++++++++++++++++++++++++++
 app/test-eventdev/evt_options.h |  5 ++++
 2 files changed, 70 insertions(+)

diff --git a/app/test-eventdev/evt_options.c b/app/test-eventdev/evt_options.c
index 05d6de88b..a04ffea8f 100644
--- a/app/test-eventdev/evt_options.c
+++ b/app/test-eventdev/evt_options.c
@@ -140,6 +140,56 @@ evt_parse_nb_pkts(struct evt_options *opt, const char *arg)
 	return ret;
 }
 
+static int
+evt_parse_nb_timers(struct evt_options *opt, const char *arg)
+{
+	int ret;
+
+	ret = parser_read_uint64(&(opt->nb_timers), arg);
+
+	return ret;
+}
+
+static int
+evt_parse_bkt_tck_nsec(struct evt_options *opt, const char *arg)
+{
+	int ret;
+
+	ret = parser_read_uint64(&(opt->bkt_tck_nsec), arg);
+
+	return ret;
+}
+
+static int
+evt_parse_max_tmo_nsec(struct evt_options *opt, const char *arg)
+{
+	int ret;
+
+	ret = parser_read_uint64(&(opt->max_tmo_nsec), arg);
+
+	return ret;
+}
+
+static int
+evt_parse_nb_bkt_tcks(struct evt_options *opt, const char *arg)
+{
+	int ret;
+
+	ret = parser_read_uint64(&(opt->nb_bkt_tcks), arg);
+
+	return ret;
+}
+
+static int
+evt_parse_nb_timer_adptrs(struct evt_options *opt, const char *arg)
+{
+	int ret;
+
+	ret = parser_read_uint8(&(opt->nb_timer_adptrs), arg);
+
+	return ret;
+}
+
 static int
 evt_parse_pool_sz(struct evt_options *opt, const char *arg)
 {
@@ -196,6 +246,11 @@ usage(char *program)
 		"\t                     in ns.\n"
 		"\t--prod_type_timerdev_burst : use timer device as producer\n"
 		"\t                             burst mode.\n"
+		"\t--nb_timers        : number of timers to arm.\n"
+		"\t--nb_timer_adptrs  : number of timer adapters to use.\n"
+		"\t--bkt_tck_nsec     : timer bucket tick interval in ns.\n"
+		"\t--max_tmo_nsec     : max timeout interval in ns.\n"
+		"\t--nb_bkt_tcks      : number of bucket ticks for each timer\n"
 		);
 	printf("available tests:\n");
 	evt_test_dump_names();
@@ -259,6 +314,11 @@ static struct option lgopts[] = {
 	{ EVT_PROD_ETHDEV,         0, 0, 0 },
 	{ EVT_PROD_TIMERDEV,       0, 0, 0 },
 	{ EVT_PROD_TIMERDEV_BURST, 0, 0, 0 },
+	{ EVT_NB_TIMERS,           1, 0, 0 },
+	{ EVT_NB_TIMER_ADPTRS,     1, 0, 0 },
+	{ EVT_BKT_TCK_NSEC,        1, 0, 0 },
+	{ EVT_MAX_TMO_NSEC,        1, 0, 0 },
+	{ EVT_NB_BKT_TCKS,         1, 0, 0 },
 	{ EVT_HELP,                0, 0, 0 },
 	{ NULL,                    0, 0, 0 }
 };
@@ -285,6 +345,11 @@ evt_opts_parse_long(int opt_idx, struct evt_options *opt)
 		{ EVT_PROD_ETHDEV, evt_parse_eth_prod_type},
 		{ EVT_PROD_TIMERDEV, evt_parse_timer_prod_type},
 		{ EVT_PROD_TIMERDEV_BURST, evt_parse_timer_prod_type_burst},
+		{ EVT_NB_TIMERS, evt_parse_nb_timers},
+		{ EVT_NB_TIMER_ADPTRS, evt_parse_nb_timer_adptrs},
+		{ EVT_BKT_TCK_NSEC, evt_parse_bkt_tck_nsec},
+		{ EVT_MAX_TMO_NSEC, evt_parse_max_tmo_nsec},
+		{ EVT_NB_BKT_TCKS, evt_parse_nb_bkt_tcks},
 	};
 
 	for (i = 0; i < RTE_DIM(parsermap); i++) {
diff --git a/app/test-eventdev/evt_options.h b/app/test-eventdev/evt_options.h
index 03078b21b..80a9ebd8f 100644
--- a/app/test-eventdev/evt_options.h
+++ b/app/test-eventdev/evt_options.h
@@ -33,6 +33,11 @@
 #define EVT_PROD_ETHDEV          ("prod_type_ethdev")
 #define EVT_PROD_TIMERDEV        ("prod_type_timerdev")
 #define EVT_PROD_TIMERDEV_BURST  ("prod_type_timerdev_burst")
+#define EVT_NB_TIMERS            ("nb_timers")
+#define EVT_NB_TIMER_ADPTRS      ("nb_timer_adptrs")
+#define EVT_BKT_TCK_NSEC         ("bkt_tck_nsec")
+#define EVT_MAX_TMO_NSEC         ("max_tmo_nsec")
+#define EVT_NB_BKT_TCKS          ("nb_bkt_tcks")
 #define EVT_HELP                 ("help")
 
 enum evt_prod_type {
-- 
2.16.2



More information about the dev mailing list