From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by dpdk.org (Postfix) with ESMTP id 588AD58C6 for ; Thu, 31 May 2018 15:56:19 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga103.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 31 May 2018 06:56:17 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.49,463,1520924400"; d="scan'208";a="44248218" Received: from txasoft-yocto.an.intel.com ([10.123.72.192]) by fmsmga008.fm.intel.com with ESMTP; 31 May 2018 06:56:16 -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 Date: Thu, 31 May 2018 08:55:55 -0500 Message-Id: <20180531135557.7544-1-gage.eads@intel.com> X-Mailer: git-send-email 2.13.6 Subject: [dpdk-dev] [PATCH 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: , X-List-Received-Date: Thu, 31 May 2018 13:56:19 -0000 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. 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 | 16 ++++ lib/librte_eal/common/rte_service.c | 31 +++++++- lib/librte_eal/rte_eal_version.map | 1 + test/test/test_service_cores.c | 43 +++++++++++ 6 files changed, 279 insertions(+), 7 deletions(-) -- 2.13.6