app/eventdev: add options for event timer adapter
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@caviumnetworks.com> Acked-by: Erik Gabriel Carrillo <erik.g.carrillo@intel.com> Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
This commit is contained in:
parent
17b22d0bfa
commit
98c6292105
@ -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_timer_tick_nsec(struct evt_options *opt, const char *arg)
|
||||
{
|
||||
int ret;
|
||||
|
||||
ret = parser_read_uint64(&(opt->timer_tick_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_expiry_nsec(struct evt_options *opt, const char *arg)
|
||||
{
|
||||
int ret;
|
||||
|
||||
ret = parser_read_uint64(&(opt->expiry_nsec), 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--timer_tick_nsec : timer tick interval in ns.\n"
|
||||
"\t--max_tmo_nsec : max timeout interval in ns.\n"
|
||||
"\t--expiry_ns : event timer expiry ns.\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_TIMER_TICK_NSEC, 1, 0, 0 },
|
||||
{ EVT_MAX_TMO_NSEC, 1, 0, 0 },
|
||||
{ EVT_EXPIRY_NSEC, 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_TIMER_TICK_NSEC, evt_parse_timer_tick_nsec},
|
||||
{ EVT_MAX_TMO_NSEC, evt_parse_max_tmo_nsec},
|
||||
{ EVT_EXPIRY_NSEC, evt_parse_expiry_nsec},
|
||||
};
|
||||
|
||||
for (i = 0; i < RTE_DIM(parsermap); i++) {
|
||||
|
@ -34,6 +34,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_TIMER_TICK_NSEC ("timer_tick_ns")
|
||||
#define EVT_MAX_TMO_NSEC ("max_tmo_nsec")
|
||||
#define EVT_EXPIRY_NSEC ("expiry_ns")
|
||||
#define EVT_HELP ("help")
|
||||
|
||||
enum evt_prod_type {
|
||||
|
@ -131,6 +131,28 @@ The following are the application command-line options:
|
||||
|
||||
Use burst mode event timer adapter as producer.
|
||||
|
||||
* ``--timer_tick_nsec``
|
||||
|
||||
Used to dictate number of nano seconds between bucket traversal of the
|
||||
event timer adapter. Refer `rte_event_timer_adapter_conf`.
|
||||
|
||||
* ``--max_tmo_nsec``
|
||||
|
||||
Used to configure event timer adapter max arm timeout in nano seconds.
|
||||
|
||||
* ``--expiry_nsec``
|
||||
|
||||
Dictate the number of nano seconds after which the event timer expires.
|
||||
|
||||
* ``--nb_timers``
|
||||
|
||||
Number of event timers each producer core will generate.
|
||||
|
||||
* ``--nb_timer_adptrs``
|
||||
|
||||
Number of event timer adapters to be used. Each adapter is used in
|
||||
round robin manner by the producer cores.
|
||||
|
||||
Eventdev Tests
|
||||
--------------
|
||||
|
||||
@ -357,6 +379,11 @@ Supported application command line options are following::
|
||||
--prod_type_ethdev
|
||||
--prod_type_timerdev_burst
|
||||
--prod_type_timerdev
|
||||
--timer_tick_nsec
|
||||
--max_tmo_nsec
|
||||
--expiry_nsec
|
||||
--nb_timers
|
||||
--nb_timer_adptrs
|
||||
|
||||
Example
|
||||
^^^^^^^
|
||||
@ -451,6 +478,11 @@ Supported application command line options are following::
|
||||
--prod_type_ethdev
|
||||
--prod_type_timerdev_burst
|
||||
--prod_type_timerdev
|
||||
--timer_tick_nsec
|
||||
--max_tmo_nsec
|
||||
--expiry_nsec
|
||||
--nb_timers
|
||||
--nb_timer_adptrs
|
||||
|
||||
Example
|
||||
^^^^^^^
|
||||
|
Loading…
Reference in New Issue
Block a user