[dpdk-dev] [PATCH 0/5] add device removal event

Gaetan Rivet gaetan.rivet at 6wind.com
Thu Mar 23 11:24:58 CET 2017


Hi all,

Following the discussion that took place during the tech board meeting,
it seems that some clarification and some additional discussion is
needed about this series.

As of now, what I plan to do is to:

1. Rebase this series upon the bus framework [1][2][3].
2. Write further documentation to clarify the meaning of this event and
further identify the best approach to implement it.

What I expect from this is to spawn a discussion about the best
way to achieve a true hot-plug feature in DPDK.

Any thoughts, comments regarding this?
Regards,

[1] http://dpdk.org/ml/archives/dev/2017-January/054165.html
[2] http://dpdk.org/ml/archives/dev/2017-March/059423.html
[3] http://dpdk.org/ml/archives/dev/2017-March/059376.html

On Fri, Mar 3, 2017 at 4:40 PM, Gaetan Rivet <gaetan.rivet at 6wind.com> wrote:
>
> This new event represents the sudden removal of a device from its bus.
> The underlying resources exposed by the bus are expected not to be available
> anymore. The application should thus be able to react and possibly clean up
> related resources that it reserved for the removed device.
>
> This event is different from the current hotplug API available in the DPDK
> for two reasons:
>
> 1. It is a reactive design: the application reacts to a device that has been
>    removed instead of removing a device from its pool.
>
> 2. The event itself is going further than the current detaching of a device
>    from a DPDK application. If the bus is a hardware one, it is expected of the
>    underlying resources to not be available anymore.
>
> This series adds a new event type to ethdev and implements it in mlx4.
> Testpmd is also updated to report all asynchronous ethdev events including this
> one for testing purposes and as a practical usage example.
>
> This series depends on the series titled
> [PATCH 1/2] net/mlx4: split the definitions to the header file
>
> Gaetan Rivet (5):
>   ethdev: introduce device removal event
>   net/mlx4: device removal event support
>   app/testpmd: generic event handler
>   app/testpmd: request link status interrupt
>   app/testpmd: request device removal interrupt
>
>  app/test-pmd/parameters.c                       |   8 +
>  app/test-pmd/testpmd.c                          | 103 ++++++++++
>  app/test-pmd/testpmd.h                          |   2 +
>  doc/guides/nics/features/default.ini            |   1 +
>  doc/guides/nics/features/mlx4.ini               |   1 +
>  doc/guides/prog_guide/env_abstraction_layer.rst |  21 +-
>  drivers/net/mlx4/mlx4.c                         | 258 ++++++++++++++++++++----
>  drivers/net/mlx4/mlx4.h                         |   1 +
>  lib/librte_eal/common/include/rte_pci.h         |   2 +
>  lib/librte_ether/rte_ethdev.c                   |  13 +-
>  lib/librte_ether/rte_ethdev.h                   |   9 +-
>  11 files changed, 375 insertions(+), 44 deletions(-)
>
> --
> 2.1.4
>


More information about the dev mailing list