From patchwork Mon Jul 2 01:55:25 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Rao, Nikhil" X-Patchwork-Id: 42024 Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 3C6F12BE5; Mon, 2 Jul 2018 03:56:00 +0200 (CEST) Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by dpdk.org (Postfix) with ESMTP id A2A311C01 for ; Mon, 2 Jul 2018 03:55:58 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga004.jf.intel.com ([10.7.209.38]) by orsmga103.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 01 Jul 2018 18:55:57 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.51,297,1526367600"; d="scan'208";a="212679606" Received: from unknown (HELO localhost.localdomain.localdomain) ([10.224.122.193]) by orsmga004.jf.intel.com with ESMTP; 01 Jul 2018 18:55:37 -0700 From: Nikhil Rao To: jerin.jacob@caviumnetworks.com Cc: nikhil.rao@intel.com, dev@dpdk.org Date: Mon, 2 Jul 2018 07:25:25 +0530 Message-Id: <1530496530-112764-1-git-send-email-nikhil.rao@intel.com> X-Mailer: git-send-email 1.8.3.1 Subject: [dpdk-dev] [PATCH v4 0/5] eventdev: add interrupt driven queues to Rx adapter X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 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. 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(-)