From patchwork Fri Dec 14 23:15:46 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Carrillo, Erik G" X-Patchwork-Id: 48943 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 8D0911B9B8; Sat, 15 Dec 2018 00:16:19 +0100 (CET) Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by dpdk.org (Postfix) with ESMTP id C8CEB1B93F for ; Sat, 15 Dec 2018 00:16:18 +0100 (CET) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by orsmga102.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 14 Dec 2018 15:16:17 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.56,354,1539673200"; d="scan'208";a="126074326" Received: from txasoft-yocto.an.intel.com (HELO txasoft-yocto.an.intel.com.) ([10.123.72.192]) by fmsmga002.fm.intel.com with ESMTP; 14 Dec 2018 15:16:17 -0800 From: Erik Gabriel Carrillo To: jerin.jacob@caviumnetworks.com Cc: mattias.ronnblom@ericsson.com, pbhagavatula@caviumnetworks.com, rsanford@akamai.com, dev@dpdk.org Date: Fri, 14 Dec 2018 17:15:46 -0600 Message-Id: <1544829347-29302-1-git-send-email-erik.g.carrillo@intel.com> X-Mailer: git-send-email 1.7.10 In-Reply-To: <1544802346-1249-1-git-send-email-erik.g.carrillo@intel.com> References: <1544802346-1249-1-git-send-email-erik.g.carrillo@intel.com> Subject: [dpdk-dev] [PATCH v4 0/1] New software 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: , Errors-To: dev-bounces@dpdk.org Sender: "dev" This patch introduces a new version of the event timer adapter software PMD [1]. In the original design, timer event producer lcores in the primary and secondary processes enqueued event timers into a ring, and a service core in the primary process dequeued them and processed them further. To improve performance, this version does away with the ring and lets lcores in both primary and secondary processes insert timers directly into timer skiplist data structures; the service core directly accesses the lists as well, when looking for timers that have expired. (This behavior requires the patch to the timer library that is referenced below.) Depends on: https://patches.dpdk.org/project/dpdk/list/?series=2767 [1] https://doc.dpdk.org/guides/prog_guide/event_timer_adapter.html Changes in v4: - Addressed the following comments from Mattias Ronnblom: - remove unnecessary header include - add missing read barrier in timer cancel function Changes in v3: - Addressed comments from Mattias Ronnblom: - remove unnecessary header include - remove unnecessary cast in mempool_put() call - update alignment of elements of array to avoid false sharing issue Changes in v2: - split this change out into its own patch series Erik Gabriel Carrillo (1): eventdev: add new software event timer adapter lib/librte_eventdev/rte_event_timer_adapter.c | 689 +++++++++++--------------- 1 file changed, 277 insertions(+), 412 deletions(-)