From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by dpdk.org (Postfix) with ESMTP id 668113255 for ; Fri, 1 Dec 2017 21:01:19 +0100 (CET) Received: from orsmga004.jf.intel.com ([10.7.209.38]) by fmsmga104.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 01 Dec 2017 12:01:18 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.45,346,1508828400"; d="scan'208";a="155155437" Received: from txasoft-yocto.an.intel.com (HELO txasoft-yocto.an.intel.com.) ([10.123.72.111]) by orsmga004.jf.intel.com with ESMTP; 01 Dec 2017 12:01:17 -0800 From: Erik Gabriel Carrillo To: pbhagavatula@caviumnetworks.com Cc: dev@dpdk.org, jerin.jacob@caviumnetworks.com, nipun.gupta@nxp.com, hemant.agrawal@nxp.com Date: Fri, 1 Dec 2017 14:00:53 -0600 Message-Id: <1512158458-22661-1-git-send-email-erik.g.carrillo@intel.com> X-Mailer: git-send-email 1.7.10 In-Reply-To: <1511890148-22295-1-git-send-email-erik.g.carrillo@intel.com> References: <1511890148-22295-1-git-send-email-erik.g.carrillo@intel.com> Subject: [dpdk-dev] [RFC PATCH v5 0/5] eventtimer: introduce event timer 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: , X-List-Received-Date: Fri, 01 Dec 2017 20:01:19 -0000 This set of RFC patches contains a reworked version of the "front-end" of the event timer adapter, i.e., the API and common logic. This patch set produces the following checkpatch warning: "macro with flow control". I have left the macros in since such usage seems common in DPDK. v5 - Addressed comments on previous version from Pavan: - renamed rte_event_timer_adapter_driver.h to rte_event_timer_adapter_pmd.h - moved contents of sw_event_timer_adapter.c into rte_event_timer_adapter.c - added flags parameter to timer_adapter_caps_get() call - added DEBUG config variable to conditionally compile run-time checks on datapath - fixed license text and file description - Also added a config variable to enable/disable compilation of event timer adapter - feedback on whether this is desirable is appreciated v4 - Split changes into multiple patches for easier review v3 - Reworked allocation and ops organization in common code based on feedback received from Jerin and Pavan. This will allow fast-path function pointers to be dereferenced with one level of indirection with pointers valid in primary and secondary processes. - Moved default software implementation from sw_evdev directory to eventdev library directory, which will allow it to be used by any eventdev PMD as an alternative to providing its own definitions. - Reverted occurrences of id back to pointer to adapter struct in library API - Added rte_event_timer_adapter_lookup() function back in v2 - Added ops structure and stubbed out plugin for SW impl - Added unit test stubs - Replaced occurrences of "wheel" in API with "adapter" - Replaced occurrences of pointer to struct rte_event_timer_adapter with ids - Removed rte_event_timer_adapter_lookup() function - Replaced RTE_EVENT_TIMER_SUCCESS_{ARM,CANCEL} states with RTE_EVENT_TIMER_ARMED Erik Gabriel Carrillo (4): eventtimer: introduce event timer adapter eventtimer: add common code eventtimer: add config variable for adapter eventtimer: add default software implementation stub test: add event timer adapter auto-test config/common_base | 2 + doc/api/doxy-api-index.md | 1 + drivers/event/sw/sw_evdev.c | 22 + lib/librte_eventdev/Makefile | 3 + lib/librte_eventdev/rte_event_timer_adapter.c | 514 +++++++++++++++++++++ lib/librte_eventdev/rte_event_timer_adapter.h | 518 ++++++++++++++++++++++ lib/librte_eventdev/rte_event_timer_adapter_pmd.h | 159 +++++++ lib/librte_eventdev/rte_eventdev.h | 7 +- lib/librte_eventdev/rte_eventdev_pmd.h | 41 ++ lib/librte_eventdev/rte_eventdev_version.map | 15 +- test/test/Makefile | 1 + test/test/test_event_timer_adapter.c | 249 +++++++++++ 12 files changed, 1529 insertions(+), 3 deletions(-) create mode 100644 lib/librte_eventdev/rte_event_timer_adapter.c create mode 100644 lib/librte_eventdev/rte_event_timer_adapter.h create mode 100644 lib/librte_eventdev/rte_event_timer_adapter_pmd.h create mode 100644 test/test/test_event_timer_adapter.c -- 2.6.4