X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=app%2Ftest-eventdev%2Fevt_options.h;h=2231c58801048f4e1146c2c2b8fb6b0d4ad3fedf;hb=d57f2899e29a74fffeb876863e1f570084d6437b;hp=1bc7ea0f6b3eb91c79cdd4e76bc0160c717e06e8;hpb=9e596d880fd5b71ca0b9e9e5539f9dc5b99ff77a;p=dpdk.git diff --git a/app/test-eventdev/evt_options.h b/app/test-eventdev/evt_options.h index 1bc7ea0f6b..2231c58801 100644 --- a/app/test-eventdev/evt_options.h +++ b/app/test-eventdev/evt_options.h @@ -9,6 +9,7 @@ #include #include +#include #include #include #include @@ -31,51 +32,27 @@ #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_CRYPTODEV ("prod_type_cryptodev") #define EVT_PROD_TIMERDEV ("prod_type_timerdev") #define EVT_PROD_TIMERDEV_BURST ("prod_type_timerdev_burst") +#define EVT_CRYPTO_ADPTR_MODE ("crypto_adptr_mode") #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_PROD_ENQ_BURST_SZ ("prod_enq_burst_sz") +#define EVT_NB_ETH_QUEUES ("nb_eth_queues") +#define EVT_ENA_VECTOR ("enable_vector") +#define EVT_VECTOR_SZ ("vector_size") +#define EVT_VECTOR_TMO ("vector_tmo_ns") +#define EVT_PER_PORT_POOL ("per_port_pool") #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_EVENT_TIMER_ADPTR, /* Producer type Timer 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; - uint8_t nb_timer_adptrs; - uint64_t nb_timers; - uint64_t timer_tick_nsec; - uint64_t optm_timer_tick_nsec; - uint64_t max_tmo_nsec; - uint64_t expiry_nsec; - 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; - uint8_t timdev_use_burst; - uint8_t timdev_cnt; -}; - 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); @@ -264,6 +241,24 @@ 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"; + case EVT_PROD_TYPE_EVENT_CRYPTO_ADPTR: + return "Event crypto adapter"; + } + + return ""; +} + #define EVT_PROD_MAX_NAME_LEN 50 static inline void evt_dump_producer_type(struct evt_options *opt) @@ -279,7 +274,7 @@ 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()); + evt_dump("nb_ethdev", "%d", rte_eth_dev_count_avail()); break; case EVT_PROD_TYPE_EVENT_TIMER_ADPTR: if (opt->timdev_use_burst) @@ -298,6 +293,13 @@ evt_dump_producer_type(struct evt_options *opt) evt_dump("timer_tick_nsec", "%"PRIu64"", opt->timer_tick_nsec); break; + case EVT_PROD_TYPE_EVENT_CRYPTO_ADPTR: + snprintf(name, EVT_PROD_MAX_NAME_LEN, + "Event crypto adapter producers"); + evt_dump("crypto adapter mode", "%s", + opt->crypto_adptr_mode ? "OP_FORWARD" : "OP_NEW"); + evt_dump("nb_cryptodev", "%u", rte_cryptodev_count()); + break; } evt_dump("prod_type", "%s", name); }