[v3,0/2] Improve service stop support

Message ID 20180621142323.17598-1-gage.eads@intel.com (mailing list archive)
Headers
Series Improve service stop support |

Message

Eads, Gage June 21, 2018, 2:23 p.m. UTC
  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(-)
  

Comments

Jerin Jacob June 24, 2018, 11:31 a.m. UTC | #1
-----Original Message-----
> Date: Thu, 21 Jun 2018 09:23:21 -0500
> From: Gage Eads <gage.eads@intel.com>
> 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
> Subject: [PATCH v3 0/2] Improve service stop support
> X-Mailer: git-send-email 2.13.6
> 
> 
> 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
> 

Applied series to dpdk-next-eventdev/master. Thanks.

> 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(-)
> 
> --
> 2.13.6
>