From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <gaetan.rivet@6wind.com>
Received: from mail-wm0-f53.google.com (mail-wm0-f53.google.com [74.125.82.53])
 by dpdk.org (Postfix) with ESMTP id 7FA842A5D
 for <dev@dpdk.org>; Sat, 15 Jul 2017 19:56:58 +0200 (CEST)
Received: by mail-wm0-f53.google.com with SMTP id b134so13211659wma.0
 for <dev@dpdk.org>; Sat, 15 Jul 2017 10:56:58 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=6wind-com.20150623.gappssmtp.com; s=20150623;
 h=from:to:cc:subject:date:message-id:in-reply-to:references;
 bh=UcdTsaAjHwGhrBE4Mpi1p6a4yl8CJfq1gu/GSiMdaIk=;
 b=voSDoubObkqs91HSFDLn56+SQy5i8b5ncQgGLckIIYP1hgnfRRskfcA81JRYmLavUU
 HdYO81c+1nT0RYArAJZC1a8kgC7KtXuhGxvxacp2E5nh5bAY1Uo7jQBaSJb3MGN3oPDi
 SQRuUHIS0BvoK4RRkv+x8nlpFl0Eoi0BxCu64nJ/zaTd1F42Tz/cbfgWYhAWYqnaDEBO
 Tgx9WHW8UfdJHq8g+eTbOZsNl5aIrV2PIe1DpHIsVxMKiJKjfArL9nN60a4LwUUtHVkG
 kO6IzvAb5dcPFESy3nEOCeb/qycHUsLaQjZpRaG5PYjG6XdbPVS6E3l0vNSge1R6HvOr
 E1yg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
 :references;
 bh=UcdTsaAjHwGhrBE4Mpi1p6a4yl8CJfq1gu/GSiMdaIk=;
 b=Efwr9vIsJLpheVe5CDvVLV+lL6om+4432IiCq+DaWyCJ9Sfy1cQ/wyoVXIULrbRSqy
 3gu+QOkPOf7zix2w8MgQfyfGSyvbq9UHHV3GkWiH8wWoAoKgQaYx9xGpmtV7r03+kj8L
 YaMVJ621otwT97zGsFu6H2yExauiX3yXQY/VYHdffM4BPQVDQS9Se8M36LsfeLxyHbU6
 iRemLi8K12+QvmTesZVu61xQNdBdE4hn7xgiUKX2vBN+ogr+7FZLN1RjASHNtqG0ONok
 2Wul9p5UaRQzMhytmoDrD/wsd6nlyqpixYqDhltO3Q+gxmNLvtHNHDqgvzH4dHutUtzp
 m5Ig==
X-Gm-Message-State: AIVw110GRi6l9/0OiX+MmanwfchrWTi/ztb4NEwilnLuRPNwpw/BrHcH
 WjgNm7A1U0sqAQmv0K8=
X-Received: by 10.28.31.203 with SMTP id f194mr1544747wmf.44.1500141417673;
 Sat, 15 Jul 2017 10:56:57 -0700 (PDT)
Received: from bidouze.dev.6wind.com (host.78.145.23.62.rev.coltfrance.com.
 [62.23.145.78])
 by smtp.gmail.com with ESMTPSA id 79sm2479445wmj.2.2017.07.15.10.56.55
 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128);
 Sat, 15 Jul 2017 10:56:56 -0700 (PDT)
From: Gaetan Rivet <gaetan.rivet@6wind.com>
To: dev@dpdk.org
Cc: Gaetan Rivet <gaetan.rivet@6wind.com>, Jan Blunck <jblunck@infradead.org>,
 Shreyansh Jain <shreyansh.jain@nxp.com>,
 Stephen Hemminger <stephen@networkplumber.org>,
 Bruce Richardson <bruce.richardson@intel.com>
Date: Sat, 15 Jul 2017 19:56:34 +0200
Message-Id: <cover.1499964391.git.gaetan.rivet@6wind.com>
X-Mailer: git-send-email 2.1.4
In-Reply-To: <cover.1499814957.git.gaetan.rivet@6wind.com>
References: <cover.1499814957.git.gaetan.rivet@6wind.com>
Subject: [dpdk-dev] [PATCH v4 0/8] fix hotplug API
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <http://dpdk.org/ml/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://dpdk.org/ml/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <http://dpdk.org/ml/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
X-List-Received-Date: Sat, 15 Jul 2017 17:56:58 -0000

Sending those fixes as separate patches as they stand on their own.
This series improves usability of the hotplug API and fixes a few issues
with existing implementations.

The hotplug API can be tested with the fail-safe PMD[1]. Its
documentation describes how to declare slaves and how to use it.

[1]: http://dpdk.org/ml/archives/dev/2017-July/070529.html


v2:

  - Add a new rte_devargs function taylored for hotplug operations.
    Upon device hotplug, the device is implicitly whitelisted.
    This configuration should supersede any previous existing bus
    configuration.
  - Merge hotplug add and remove fixes as they are now tied up.
  - Do not return an rte_device handle back from hotplug_add.

v3:

  - Further explain
      - the new rte_eal_devargs_insert function.
      - the hotplug add / remove fix
      - the PCI device name fix
  - Add comments to pci_name_set

v4:

  - Free rte_devargs after the device is being removed,
    to avoid risks of buses relying on the rte_devargs during the
    process.

Gaetan Rivet (8):
  vdev: implement plug operation
  devargs: introduce removal function
  devargs: introduce insert function
  eal: fix hotplug add / remove
  pci: use given name as generic name
  pci: fix generic driver pointer on probe error
  pci: fix hotplug operations
  bus: remove useless plug parameter

 lib/librte_eal/bsdapp/eal/eal_pci.c             |  4 +-
 lib/librte_eal/bsdapp/eal/rte_eal_version.map   |  2 +
 lib/librte_eal/common/eal_common_dev.c          | 58 +++++++++++++++++++++++--
 lib/librte_eal/common/eal_common_devargs.c      | 31 +++++++++++++
 lib/librte_eal/common/eal_common_pci.c          | 57 +++++++++++++-----------
 lib/librte_eal/common/eal_common_vdev.c         | 12 ++---
 lib/librte_eal/common/eal_private.h             |  5 +++
 lib/librte_eal/common/include/rte_bus.h         |  6 +--
 lib/librte_eal/common/include/rte_devargs.h     | 31 +++++++++++++
 lib/librte_eal/common/include/rte_vdev.h        |  7 +++
 lib/librte_eal/linuxapp/eal/eal_pci.c           |  4 +-
 lib/librte_eal/linuxapp/eal/rte_eal_version.map |  2 +
 12 files changed, 176 insertions(+), 43 deletions(-)

-- 
2.1.4