From mboxrd@z Thu Jan 1 00:00:00 1970 From: Gaetan Rivet Subject: [PATCH 0/5] add device removal event Date: Fri, 3 Mar 2017 16:40:18 +0100 Message-ID: Cc: Thomas Monjalon , Jingjing Wu , Adrien Mazarguil , Nelio Laranjeiro To: dev@dpdk.org Return-path: Received: from mail-wr0-f170.google.com (mail-wr0-f170.google.com [209.85.128.170]) by dpdk.org (Postfix) with ESMTP id 57C91F610 for ; Fri, 3 Mar 2017 16:40:35 +0100 (CET) Received: by mail-wr0-f170.google.com with SMTP id l37so76292245wrc.1 for ; Fri, 03 Mar 2017 07:40:35 -0800 (PST) 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 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