X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=app%2Ftest-eventdev%2Fevt_options.h;h=748e54fae96ec2fec1f793aac554785482f851f6;hb=042f5c94fd3a49e4fe85e5ae2405a39ca65a2436;hp=46d122229ffcc737a18f71d0a0c3df3c96e0b43a;hpb=b01974da9f250de908746753a7f7225b3bb38e20;p=dpdk.git diff --git a/app/test-eventdev/evt_options.h b/app/test-eventdev/evt_options.h index 46d122229f..748e54fae9 100644 --- a/app/test-eventdev/evt_options.h +++ b/app/test-eventdev/evt_options.h @@ -9,6 +9,7 @@ #include #include +#include #include #include @@ -30,35 +31,19 @@ #define EVT_SCHED_TYPE_LIST ("stlist") #define EVT_FWD_LATENCY ("fwd_latency") #define EVT_QUEUE_PRIORITY ("queue_priority") +#define EVT_DEQ_TMO_NSEC ("deq_tmo_nsec") #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_nsec") +#define EVT_MAX_TMO_NSEC ("max_tmo_nsec") +#define EVT_EXPIRY_NSEC ("expiry_nsec") +#define EVT_MBUF_SZ ("mbuf_sz") +#define EVT_MAX_PKT_SZ ("max_pkt_sz") #define EVT_HELP ("help") -enum evt_prod_type { - EVT_PROD_TYPE_NONE, - EVT_PROD_TYPE_SYNT, /* Producer type Synthetic i.e. CPU. */ - EVT_PROD_TYPE_ETH_RX_ADPTR, /* Producer type Eth Rx Adapter. */ - EVT_PROD_TYPE_MAX, -}; - -struct evt_options { -#define EVT_TEST_NAME_MAX_LEN 32 - char test_name[EVT_TEST_NAME_MAX_LEN]; - bool plcores[RTE_MAX_LCORE]; - bool wlcores[RTE_MAX_LCORE]; - uint8_t sched_type_list[EVT_MAX_STAGES]; - uint32_t nb_flows; - int socket_id; - int pool_sz; - int nb_stages; - int verbose_level; - uint64_t nb_pkts; - uint16_t wkr_deq_dep; - uint8_t dev_id; - uint32_t fwd_latency:1; - uint32_t q_priority:1; - enum evt_prod_type prod_type; -}; - void evt_options_default(struct evt_options *opt); int evt_options_parse(struct evt_options *opt, int argc, char **argv); void evt_options_dump(struct evt_options *opt); @@ -247,6 +232,22 @@ evt_dump_sched_type_list(struct evt_options *opt) evt_dump_end; } +static inline const char * +evt_prod_id_to_name(enum evt_prod_type prod_type) +{ + switch (prod_type) { + default: + case EVT_PROD_TYPE_SYNT: + return "Synthetic producer lcores"; + case EVT_PROD_TYPE_ETH_RX_ADPTR: + return "Ethdev Rx Adapter"; + case EVT_PROD_TYPE_EVENT_TIMER_ADPTR: + return "Event timer adapter"; + } + + return ""; +} + #define EVT_PROD_MAX_NAME_LEN 50 static inline void evt_dump_producer_type(struct evt_options *opt) @@ -262,6 +263,24 @@ evt_dump_producer_type(struct evt_options *opt) case EVT_PROD_TYPE_ETH_RX_ADPTR: snprintf(name, EVT_PROD_MAX_NAME_LEN, "Ethdev Rx Adapter producers"); + evt_dump("nb_ethdev", "%d", rte_eth_dev_count_avail()); + break; + case EVT_PROD_TYPE_EVENT_TIMER_ADPTR: + if (opt->timdev_use_burst) + snprintf(name, EVT_PROD_MAX_NAME_LEN, + "Event timer adapter burst mode producer"); + else + snprintf(name, EVT_PROD_MAX_NAME_LEN, + "Event timer adapter producer"); + evt_dump("nb_timer_adapters", "%d", opt->nb_timer_adptrs); + evt_dump("max_tmo_nsec", "%"PRIu64"", opt->max_tmo_nsec); + evt_dump("expiry_nsec", "%"PRIu64"", opt->expiry_nsec); + if (opt->optm_timer_tick_nsec) + evt_dump("optm_timer_tick_nsec", "%"PRIu64"", + opt->optm_timer_tick_nsec); + else + evt_dump("timer_tick_nsec", "%"PRIu64"", + opt->timer_tick_nsec); break; } evt_dump("prod_type", "%s", name);