-----Original Message----- > Date: Mon, 2 Jul 2018 07:25:25 +0530 > From: Nikhil Rao <nikhil....@intel.com> > To: jerin.ja...@caviumnetworks.com > CC: nikhil....@intel.com, dev@dpdk.org > Subject: [PATCH v4 0/5] eventdev: add interrupt driven queues to Rx adapter > X-Mailer: git-send-email 1.8.3.1 > > > This patch series adds support for interrupt driven queues to the > ethernet Rx adapter, the first 3 patches prepare the code to > handle both poll and interrupt driven Rx queues, the 4th patch > patch has code changes specific to interrupt driven queues and > the final patch has test code. > > Changelog: > v3->v4: > > * Fix FreeBSD build breakage.
# meson shared lib is failing with patch: [226/1298] Compiling C object 'lib/lib@@rte_eventdev@sta/librte_eventdev_rte_event_eth_rx_adapter.c.o'. FAILED: lib/lib@@rte_eventdev@sta/librte_eventdev_rte_event_eth_rx_adapter.c.o ccache gcc -Ilib/lib@@rte_eventdev@sta -Ilib -I../lib -Ilib/librte_eventdev -I../lib/librte_eventdev -I. -I../ -Iconfig -I../config -Ilib/librte_eal/common -I../lib/librte_eal/common -Ilib/librte_eal/common/include -I../lib/librte_eal/common/include -Ilib/librte_eal/common/include/arch/x86 -I../lib/librte_eal/common/include/arch/x86 -I../lib/librte_eal/linuxapp/eal/include -Ilib/librte_eal/linuxapp/eal/../../../librte_compat -I../lib/librte_eal/linuxapp/eal/../../../librte_compat -Ilib/librte_eal -I../lib/librte_eal -Ilib/librte_compat -I../lib/librte_compat -Ilib/librte_ring -I../lib/librte_ring -Ilib/librte_ethdev -I../lib/librte_ethdev -Ilib/librte_net -I../lib/librte_net -Ilib/librte_mbuf -I../lib/librte_mbuf -Ilib/librte_mempool -I../lib/librte_mempool -Ilib/librte_kvargs -I../lib/librte_kvargs -Ilib/librte_hash -I../lib/librte_hash -Ilib/librte_timer -I../lib/librte_timer -Ilib/librte_cryptodev -I../lib/librte_cryptodev -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Werror -O3 -include rte_config.h -Wsign-compare -Wcast-qual -Wno-format-truncation -fPIC -march=native -DALLOW_EXPERIMENTAL_API -MD -MQ 'lib/lib@@rte_eventdev@sta/librte_eventdev_rte_event_eth_rx_adapter.c.o' -MF 'lib/lib@@rte_eventdev@sta/librte_eventdev_rte_event_eth_rx_adapter.c.o.d' -o 'lib/lib@@rte_eventdev@sta/librte_eventdev_rte_event_eth_rx_adapter.c.o' -c ../lib/librte_eventdev/rte_event_eth_rx_adapter.c ../lib/librte_eventdev/rte_event_eth_rx_adapter.c: In function ‘rxa_epoll_create1’: ../lib/librte_eventdev/rte_event_eth_rx_adapter.c:1249:1: error: no return statement in function returning non-void [-Werror=return-type] } ^ cc1: all warnings being treated as errors # please rebase this and following patches to latest next-eventdev tree http://patches.dpdk.org/patch/41795/ > > v2->v3: > > * Fix shared build breakage. > > * Fix FreeBSD build breakage. > > * Reduce epoll maxevents parameter by 1, since thread wakeup > uses pthread_cancel as opposed to an exit message through a > file monitored by epoll_wait(). > > * Check intr_handle before access, it is NULL when zero Rx queue > interrupts are configured. > > * Remove thread_stop flag, in the event of a pthread_cancel, it is > not possible to check this flag thread stack is unwound without > returning to rxa_intr_thread. > > v1->v2: > > * Move rte_service_component_runstate_set such that it > is called only when cap & RTE__EVENT_ETH_RX_ADAPTER_CAP_INTERNAL_PORT > is false. (Jerin Jacob) > > * Fix meson build. (Jerin Jacob) > > * Replace calls to pthread_* with rte_ctrl_thread_create(). > (Jerin Jacob) > > * Move adapter test code to separate patch. (Jerin Jacob) > > Note: I haven't removed the note about devices created > rte_event_eth_rx_adapter_create, will fix in a separate patch. > > > Nikhil Rao (5): > eventdev: standardize Rx adapter internal function names > eventdev: improve err handling for Rx adapter queue add/del > eventdev: move Rx adapter eth Rx to separate function > eventdev: add interrupt driven queues to Rx adapter > eventdev: add Rx adapter tests for interrupt driven queues > > config/rte_config.h | 1 + > lib/librte_eventdev/rte_event_eth_rx_adapter.h | 5 +- > lib/librte_eventdev/rte_event_eth_rx_adapter.c | 1526 > +++++++++++++++++--- > test/test/test_event_eth_rx_adapter.c | 261 +++- > .../prog_guide/event_ethernet_rx_adapter.rst | 24 + > config/common_base | 1 + > lib/librte_eventdev/Makefile | 9 +- > 7 files changed, 1588 insertions(+), 239 deletions(-) > > -- > 1.8.3.1 >