X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=examples%2Fl2fwd-event%2Fl2fwd_event_generic.c;h=b07306a17b05fe65c90f6b6afefbfa4152e392ab;hb=4c2af82e542c51175781aebf8f1a9ccfef823a11;hp=f99608173394570f3682f4d5be390c103a6ae177;hpb=50f05aa6ed9a03559cfb0e9eefb7c5aad1a910cc;p=dpdk.git diff --git a/examples/l2fwd-event/l2fwd_event_generic.c b/examples/l2fwd-event/l2fwd_event_generic.c index f996081733..b07306a17b 100644 --- a/examples/l2fwd-event/l2fwd_event_generic.c +++ b/examples/l2fwd-event/l2fwd_event_generic.c @@ -42,8 +42,10 @@ l2fwd_event_device_setup_generic(struct l2fwd_resources *rsrc) /* Event device configurtion */ rte_event_dev_info_get(event_d_id, &dev_info); - evt_rsrc->disable_implicit_release = !!(dev_info.event_dev_cap & - RTE_EVENT_DEV_CAP_IMPLICIT_RELEASE_DISABLE); + + /* Enable implicit release */ + if (dev_info.event_dev_cap & RTE_EVENT_DEV_CAP_IMPLICIT_RELEASE_DISABLE) + evt_rsrc->disable_implicit_release = 0; if (dev_info.event_dev_cap & RTE_EVENT_DEV_CAP_QUEUE_ALL_TYPES) event_queue_cfg |= RTE_EVENT_QUEUE_CFG_ALL_TYPES; @@ -70,7 +72,8 @@ l2fwd_event_device_setup_generic(struct l2fwd_resources *rsrc) event_d_conf.nb_event_port_enqueue_depth = dev_info.max_event_port_enqueue_depth; - num_workers = rte_lcore_count() - rte_service_lcore_count(); + /* Ignore Master core and service cores. */ + num_workers = rte_lcore_count() - 1 - rte_service_lcore_count(); if (dev_info.max_event_ports < num_workers) num_workers = dev_info.max_event_ports; @@ -195,13 +198,7 @@ static void l2fwd_rx_tx_adapter_setup_generic(struct l2fwd_resources *rsrc) { struct l2fwd_event_resources *evt_rsrc = rsrc->evt_rsrc; - struct rte_event_eth_rx_adapter_queue_conf eth_q_conf = { - .rx_queue_flags = 0, - .ev = { - .queue_id = 0, - .priority = RTE_EVENT_DEV_PRIORITY_NORMAL, - } - }; + struct rte_event_eth_rx_adapter_queue_conf eth_q_conf; uint8_t event_d_id = evt_rsrc->event_d_id; uint8_t rx_adptr_id = 0; uint8_t tx_adptr_id = 0; @@ -210,6 +207,9 @@ l2fwd_rx_tx_adapter_setup_generic(struct l2fwd_resources *rsrc) uint32_t service_id; int32_t ret, i = 0; + memset(ð_q_conf, 0, sizeof(eth_q_conf)); + eth_q_conf.ev.priority = RTE_EVENT_DEV_PRIORITY_NORMAL; + /* Rx adapter setup */ evt_rsrc->rx_adptr.nb_rx_adptr = 1; evt_rsrc->rx_adptr.rx_adptr = (uint8_t *)malloc(sizeof(uint8_t) *