From patchwork Thu Jun 21 14:23:21 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Eads, Gage" X-Patchwork-Id: 41369 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 2BEF51BB37; Thu, 21 Jun 2018 16:23:32 +0200 (CEST) Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by dpdk.org (Postfix) with ESMTP id C6F2B1B5F1 for ; Thu, 21 Jun 2018 16:23:30 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by orsmga102.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 21 Jun 2018 07:23:29 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.51,252,1526367600"; d="scan'208";a="65140482" Received: from txasoft-yocto.an.intel.com ([10.123.72.192]) by fmsmga004.fm.intel.com with ESMTP; 21 Jun 2018 07:23:28 -0700 From: Gage Eads To: dev@dpdk.org Cc: jerin.jacob@caviumnetworks.com, harry.van.haaren@intel.com, bruce.richardson@intel.com, nikhil.rao@intel.com, erik.g.carrillo@intel.com, abhinandan.gujjar@intel.com, thomas@monjalon.net Date: Thu, 21 Jun 2018 09:23:21 -0500 Message-Id: <20180621142323.17598-1-gage.eads@intel.com> X-Mailer: git-send-email 2.13.6 In-Reply-To: <20180614135130.30849-1-gage.eads@intel.com> References: <20180614135130.30849-1-gage.eads@intel.com> Subject: [dpdk-dev] [PATCH v3 0/2] Improve service stop support 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" Existing service functions allow us to stop a service, but doing so doesn't guarantee that the service has finished running on a service core. This patch set introduces a function, rte_service_may_be_active(), to check whether a stopped service is truly stopped. This is needed for flows that modify a resource that the service is using; for example when stopping an eventdev, any event adapters and/or scheduler service need to be quiesced first. This patch set also adds support for the event sw PMD's device stop flush callback, which relies on this new mechanism to ensure that the scheduler service is no longer active. v2: - Move function to DPDK_18.08 block in rte_eal_version.map - Fix signed vs. unsigned comparison compiler warning v3: - Move function to EXPERIMENTAL block and add experimental tags - Fix typo in function documentation Gage Eads (2): service: add mechanism for quiescing a service event/sw: support device stop flush callback drivers/event/sw/sw_evdev.c | 114 +++++++++++++++++++++++++++- drivers/event/sw/sw_evdev_selftest.c | 81 +++++++++++++++++++- lib/librte_eal/common/include/rte_service.h | 20 +++++ lib/librte_eal/common/rte_service.c | 32 +++++++- lib/librte_eal/rte_eal_version.map | 1 + test/test/test_service_cores.c | 43 +++++++++++ 6 files changed, 284 insertions(+), 7 deletions(-)