From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by dpdk.org (Postfix) with ESMTP id D90401B16B for ; Thu, 11 Jan 2018 01:21:32 +0100 (CET) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga005.jf.intel.com ([10.7.209.41]) by fmsmga102.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 10 Jan 2018 16:21:31 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.46,342,1511856000"; d="scan'208";a="192627410" Received: from txasoft-yocto.an.intel.com (HELO txasoft-yocto.an.intel.com.) ([10.123.72.111]) by orsmga005.jf.intel.com with ESMTP; 10 Jan 2018 16:21:30 -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: Wed, 10 Jan 2018 18:20:51 -0600 Message-Id: <1515630074-29020-1-git-send-email-erik.g.carrillo@intel.com> X-Mailer: git-send-email 1.7.10 In-Reply-To: <1512158458-22661-1-git-send-email-erik.g.carrillo@intel.com> References: <1512158458-22661-1-git-send-email-erik.g.carrillo@intel.com> Subject: [dpdk-dev] [PATCH v6 00/23] 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: Thu, 11 Jan 2018 00:21:33 -0000 This patch set adds an initial implementation of the software driver for the event timer adapter library, adds some unit tests, and adds documentation. More testing is needed, but I'd like to get feedback on the current state. 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. The tests also depend on the following patch to pass: http://dpdk.org/ml/archives/dev/2018-January/085209.html v6 - Addressed comments on previous versin from Jerin: - Added RTE_EVENT_TIMER_CANCELED event timer state back in - remove check for started adapter in timer arm/cancel functions - reuse CONFIG_RTE_LIBRTE_EVENTDEV_DEBUG instead of adding new config option - Added initial version of software driver implementation - Added stats APIs - Added API to retrieve adapter service ID - Added API to initialize event timer - Added entry to Programmer's Guide in documentation - Added new unit tests to auto-test 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 (23): eventtimer: add event timer adapter API eventtimer: add common code eventtimer: add default software driver stub test: add event timer adapter auto-test eventtimer: add adapter allocation definitions test: exercise event timer adapter allocation functions eventtimer: add adapter get info function definition eventtimer: add adapter start/stop definitions eventtimer: add API to get service id eventtimer: remove service id entry from info structure test: exercise event timer adapter start/stop functions eventtimer: add event timer arm/cancel function definitions eventtimer: add adapter service definition eventtimer: add event timer initializer function eventtimer: add buffering of timer expiry events eventtimer: add stats to API eventtimer: add support for single-producer put mode eventtimer: add non-blocking mode for event timer operations test: exercise event timer arm and expiry maintainers: add event timer adapter section doc: add event timer adapter to API index doc: add event timer adapter section to programmer's guide doc: add event timer adapter to release notes MAINTAINERS | 6 + doc/api/doxy-api-index.md | 1 + doc/guides/prog_guide/event_timer_adapter.rst | 301 ++++++ doc/guides/prog_guide/index.rst | 1 + doc/guides/rel_notes/release_18_02.rst | 6 + drivers/event/sw/sw_evdev.c | 18 + lib/Makefile | 2 +- lib/librte_eventdev/Makefile | 5 +- lib/librte_eventdev/rte_event_timer_adapter.c | 1147 +++++++++++++++++++++ lib/librte_eventdev/rte_event_timer_adapter.h | 651 ++++++++++++ lib/librte_eventdev/rte_event_timer_adapter_pmd.h | 174 ++++ lib/librte_eventdev/rte_eventdev.h | 7 +- lib/librte_eventdev/rte_eventdev_pmd.h | 35 + lib/librte_eventdev/rte_eventdev_version.map | 19 +- mk/rte.app.mk | 2 +- test/test/Makefile | 1 + test/test/test_event_timer_adapter.c | 446 ++++++++ 17 files changed, 2816 insertions(+), 6 deletions(-) create mode 100644 doc/guides/prog_guide/event_timer_adapter.rst 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