All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jeff Guo <jia.guo@intel.com>
To: stephen@networkplumber.org, bruce.richardson@intel.com,
	ferruh.yigit@intel.com, gaetan.rivet@6wind.com
Cc: konstantin.ananyev@intel.com, jblunck@infradead.org,
	shreyansh.jain@nxp.com, jingjing.wu@intel.com, dev@dpdk.org,
	jia.guo@intel.com, thomas@monjalon.net, helin.zhang@intel.com,
	motih@mellanox.com
Subject: [PATCH V9 4/5] pci_uio: add uevent hotplug failure handler in pci
Date: Wed, 10 Jan 2018 17:12:23 +0800	[thread overview]
Message-ID: <1515575544-2141-5-git-send-email-jia.guo@intel.com> (raw)
In-Reply-To: <1515575544-2141-1-git-send-email-jia.guo@intel.com>

when detect hot removal uevent of device, the device resource become invalid,
in order to avoid unexpected usage of this resource, remap the device resource
to be a fake memory, that would lead the application keep running well but not
encounter system core dump.

Signed-off-by: Jeff Guo <jia.guo@intel.com>
---
v9->v8:
split the patch set into small and explicit patch
---
 drivers/bus/pci/bsd/pci.c                 | 23 ++++++++++++++++++++
 drivers/bus/pci/linux/pci.c               | 34 ++++++++++++++++++++++++++++++
 drivers/bus/pci/pci_common.c              | 22 +++++++++++++++++++
 drivers/bus/pci/pci_common_uio.c          | 28 +++++++++++++++++++++++++
 drivers/bus/pci/private.h                 | 12 +++++++++++
 drivers/bus/pci/rte_bus_pci.h             | 11 ++++++++++
 drivers/bus/vdev/vdev.c                   |  9 +++++++-
 lib/librte_eal/common/eal_common_bus.c    |  1 +
 lib/librte_eal/common/include/rte_bus.h   | 17 +++++++++++++++
 lib/librte_eal/linuxapp/eal/eal_dev.c     | 35 ++++++++++++++++++++++++++++---
 lib/librte_eal/linuxapp/igb_uio/igb_uio.c |  6 ++++++
 lib/librte_pci/rte_pci.c                  | 20 ++++++++++++++++++
 lib/librte_pci/rte_pci.h                  | 17 +++++++++++++++
 13 files changed, 231 insertions(+), 4 deletions(-)

diff --git a/drivers/bus/pci/bsd/pci.c b/drivers/bus/pci/bsd/pci.c
index 655b34b..d7165b9 100644
--- a/drivers/bus/pci/bsd/pci.c
+++ b/drivers/bus/pci/bsd/pci.c
@@ -97,6 +97,29 @@ rte_pci_unmap_device(struct rte_pci_device *dev)
 	}
 }
 
+/* re-map pci device */
+int
+rte_pci_remap_device(struct rte_pci_device *dev)
+{
+	int ret;
+
+	if (dev == NULL)
+		return -EINVAL;
+
+	switch (dev->kdrv) {
+	case RTE_KDRV_NIC_UIO:
+		ret = pci_uio_remap_resource(dev);
+		break;
+	default:
+		RTE_LOG(DEBUG, EAL,
+			"  Not managed by a supported kernel driver, skipped\n");
+		ret = 1;
+		break;
+	}
+
+	return ret;
+}
+
 void
 pci_uio_free_resource(struct rte_pci_device *dev,
 		struct mapped_pci_resource *uio_res)
diff --git a/drivers/bus/pci/linux/pci.c b/drivers/bus/pci/linux/pci.c
index 25f907e..7aa3079 100644
--- a/drivers/bus/pci/linux/pci.c
+++ b/drivers/bus/pci/linux/pci.c
@@ -116,6 +116,38 @@ rte_pci_unmap_device(struct rte_pci_device *dev)
 	}
 }
 
+/* Map pci device */
+int
+rte_pci_remap_device(struct rte_pci_device *dev)
+{
+	int ret = -1;
+
+	if (dev == NULL)
+		return -EINVAL;
+
+	switch (dev->kdrv) {
+	case RTE_KDRV_VFIO:
+#ifdef VFIO_PRESENT
+		/* no thing to do */
+#endif
+		break;
+	case RTE_KDRV_IGB_UIO:
+	case RTE_KDRV_UIO_GENERIC:
+		if (rte_eal_using_phys_addrs()) {
+			/* map resources for devices that use uio */
+			ret = pci_uio_remap_resource(dev);
+		}
+		break;
+	default:
+		RTE_LOG(DEBUG, EAL,
+			"  Not managed by a supported kernel driver, skipped\n");
+		ret = 1;
+		break;
+	}
+
+	return ret;
+}
+
 void *
 pci_find_max_end_va(void)
 {
@@ -357,6 +389,8 @@ pci_scan_one(const char *dirname, const struct rte_pci_addr *addr)
 		rte_pci_add_device(dev);
 	}
 
+	dev->device.state = RTE_DEV_PARSED;
+	TAILQ_INIT(&(dev->device.uev_cbs));
 	return 0;
 }
 
diff --git a/drivers/bus/pci/pci_common.c b/drivers/bus/pci/pci_common.c
index c4415a0..3fbe9d7 100644
--- a/drivers/bus/pci/pci_common.c
+++ b/drivers/bus/pci/pci_common.c
@@ -282,6 +282,7 @@ pci_probe_all_drivers(struct rte_pci_device *dev)
 		if (rc > 0)
 			/* positive value means driver doesn't support it */
 			continue;
+		dev->device.state = RTE_DEV_PROBED;
 		return 0;
 	}
 	return 1;
@@ -481,6 +482,7 @@ rte_pci_insert_device(struct rte_pci_device *exist_pci_dev,
 void
 rte_pci_remove_device(struct rte_pci_device *pci_dev)
 {
+	RTE_LOG(DEBUG, EAL, " rte_pci_remove_device for device list\n");
 	TAILQ_REMOVE(&rte_pci_bus.device_list, pci_dev, next);
 }
 
@@ -522,6 +524,25 @@ pci_find_device_by_name(const struct rte_device *start,
 }
 
 static int
+pci_remap_device(struct rte_device *dev)
+{
+	struct rte_pci_device *pdev;
+	int ret;
+
+	if (dev == NULL)
+		return -EINVAL;
+
+	pdev = RTE_DEV_TO_PCI(dev);
+
+	/* remap resources for devices that use igb_uio */
+	ret = rte_pci_remap_device(pdev);
+	if (ret != 0)
+		RTE_LOG(ERR, EAL, "failed to remap device %s",
+			dev->name);
+	return ret;
+}
+
+static int
 pci_plug(struct rte_device *dev)
 {
 	return pci_probe_all_drivers(RTE_DEV_TO_PCI(dev));
@@ -552,6 +573,7 @@ struct rte_pci_bus rte_pci_bus = {
 		.unplug = pci_unplug,
 		.parse = pci_parse,
 		.get_iommu_class = rte_pci_get_iommu_class,
+		.remap_device = pci_remap_device,
 	},
 	.device_list = TAILQ_HEAD_INITIALIZER(rte_pci_bus.device_list),
 	.driver_list = TAILQ_HEAD_INITIALIZER(rte_pci_bus.driver_list),
diff --git a/drivers/bus/pci/pci_common_uio.c b/drivers/bus/pci/pci_common_uio.c
index dd84ec8..a4bc473 100644
--- a/drivers/bus/pci/pci_common_uio.c
+++ b/drivers/bus/pci/pci_common_uio.c
@@ -147,6 +147,34 @@ pci_uio_unmap(struct mapped_pci_resource *uio_res)
 	}
 }
 
+/* remap the PCI resource of a PCI device in private virtual memory */
+int
+pci_uio_remap_resource(struct rte_pci_device *dev)
+{
+	int i;
+	uint64_t phaddr;
+	void *map_address;
+
+	/* Map all BARs */
+	for (i = 0; i != PCI_MAX_RESOURCE; i++) {
+		/* skip empty BAR */
+		phaddr = dev->mem_resource[i].phys_addr;
+		if (phaddr == 0)
+			continue;
+		map_address = pci_map_private_resource(
+				dev->mem_resource[i].addr, 0,
+				(size_t)dev->mem_resource[i].len);
+		if (map_address == MAP_FAILED)
+			goto error;
+		memset(map_address, 0xFF, (size_t)dev->mem_resource[i].len);
+		dev->mem_resource[i].addr = map_address;
+	}
+
+	return 0;
+error:
+	return -1;
+}
+
 static struct mapped_pci_resource *
 pci_uio_find_resource(struct rte_pci_device *dev)
 {
diff --git a/drivers/bus/pci/private.h b/drivers/bus/pci/private.h
index 2283f09..10baa1a 100644
--- a/drivers/bus/pci/private.h
+++ b/drivers/bus/pci/private.h
@@ -202,6 +202,18 @@ void pci_uio_free_resource(struct rte_pci_device *dev,
 		struct mapped_pci_resource *uio_res);
 
 /**
+ * remap the pci uio resource..
+ *
+ * @param dev
+ *   Point to the struct rte pci device.
+ * @return
+ *   - On success, zero.
+ *   - On failure, a negative value.
+ */
+int
+pci_uio_remap_resource(struct rte_pci_device *dev);
+
+/**
  * Map device memory to uio resource
  *
  * This function is private to EAL.
diff --git a/drivers/bus/pci/rte_bus_pci.h b/drivers/bus/pci/rte_bus_pci.h
index d4a2996..65337eb 100644
--- a/drivers/bus/pci/rte_bus_pci.h
+++ b/drivers/bus/pci/rte_bus_pci.h
@@ -52,6 +52,8 @@ extern "C" {
 #include <sys/queue.h>
 #include <stdint.h>
 #include <inttypes.h>
+#include <unistd.h>
+#include <fcntl.h>
 
 #include <rte_debug.h>
 #include <rte_interrupts.h>
@@ -197,6 +199,15 @@ int rte_pci_map_device(struct rte_pci_device *dev);
 void rte_pci_unmap_device(struct rte_pci_device *dev);
 
 /**
+ * Remap this device
+ *
+ * @param dev
+ *   A pointer to a rte_pci_device structure describing the device
+ *   to use
+ */
+int rte_pci_remap_device(struct rte_pci_device *dev);
+
+/**
  * Dump the content of the PCI bus.
  *
  * @param f
diff --git a/drivers/bus/vdev/vdev.c b/drivers/bus/vdev/vdev.c
index cac2aa0..c9cd369 100644
--- a/drivers/bus/vdev/vdev.c
+++ b/drivers/bus/vdev/vdev.c
@@ -323,7 +323,6 @@ vdev_find_device(const struct rte_device *start, rte_dev_cmp_t cmp,
 	return NULL;
 }
 
-
 static struct rte_device *
 vdev_find_device_by_name(const struct rte_device *start,
 		rte_dev_cmp_name_t cmp_name,
@@ -343,6 +342,13 @@ vdev_find_device_by_name(const struct rte_device *start,
 }
 
 static int
+vdev_remap_device(struct rte_device *dev)
+{
+	RTE_SET_USED(dev);
+	return 0;
+}
+
+static int
 vdev_plug(struct rte_device *dev)
 {
 	return vdev_probe_all_drivers(RTE_DEV_TO_VDEV(dev));
@@ -362,6 +368,7 @@ static struct rte_bus rte_vdev_bus = {
 	.plug = vdev_plug,
 	.unplug = vdev_unplug,
 	.parse = vdev_parse,
+	.remap_device = vdev_remap_device,
 };
 
 RTE_REGISTER_BUS(vdev, rte_vdev_bus);
diff --git a/lib/librte_eal/common/eal_common_bus.c b/lib/librte_eal/common/eal_common_bus.c
index efd5539..bdb0e54 100644
--- a/lib/librte_eal/common/eal_common_bus.c
+++ b/lib/librte_eal/common/eal_common_bus.c
@@ -54,6 +54,7 @@ rte_bus_register(struct rte_bus *bus)
 	RTE_VERIFY(bus->find_device_by_name);
 	/* Buses supporting driver plug also require unplug. */
 	RTE_VERIFY(!bus->plug || bus->unplug);
+	RTE_VERIFY(bus->remap_device);
 
 	TAILQ_INSERT_TAIL(&rte_bus_list, bus, next);
 	RTE_LOG(DEBUG, EAL, "Registered [%s] bus.\n", bus->name);
diff --git a/lib/librte_eal/common/include/rte_bus.h b/lib/librte_eal/common/include/rte_bus.h
index 6dcfdb3..78990bc 100644
--- a/lib/librte_eal/common/include/rte_bus.h
+++ b/lib/librte_eal/common/include/rte_bus.h
@@ -196,6 +196,22 @@ typedef int (*rte_bus_unplug_t)(struct rte_device *dev);
 typedef int (*rte_bus_parse_t)(const char *name, void *addr);
 
 /**
+ * Implementation specific remap function which is responsible for
+ * remmaping devices on that bus from original share memory resource
+ * to a private memory resource for the sake of device has been removal,
+ * when detect the device removal event invoke from the kernel side,
+ * prior to call this function before any operation for device hw.
+ *
+ * @param dev
+ *	Device pointer that was returned by a previous call to find_device.
+ *
+ * @return
+ *	0 on success.
+ *	!0 on error.
+ */
+typedef int (*rte_bus_remap_device_t)(struct rte_device *dev);
+
+/**
  * Bus scan policies
  */
 enum rte_bus_scan_mode {
@@ -239,6 +255,7 @@ struct rte_bus {
 	rte_bus_plug_t plug;         /**< Probe single device for drivers */
 	rte_bus_unplug_t unplug;     /**< Remove single device from driver */
 	rte_bus_parse_t parse;       /**< Parse a device name */
+	rte_bus_remap_device_t remap_device;       /**< remap a device */
 	struct rte_bus_conf conf;    /**< Bus configuration */
 	rte_bus_get_iommu_class_t get_iommu_class; /**< Get iommu class */
 };
diff --git a/lib/librte_eal/linuxapp/eal/eal_dev.c b/lib/librte_eal/linuxapp/eal/eal_dev.c
index 9d347f2..d68ef9b 100644
--- a/lib/librte_eal/linuxapp/eal/eal_dev.c
+++ b/lib/librte_eal/linuxapp/eal/eal_dev.c
@@ -32,6 +32,12 @@ bool service_no_init = true;
 
 #define DEV_EV_MNT_SERVICE_NAME "device_event_monitor_service"
 
+static void sig_handler(int signum)
+{
+	if (signum == SIGINT || signum == SIGTERM)
+		rte_dev_monitor_stop();
+}
+
 static int
 dev_monitor_fd_new(void)
 {
@@ -168,6 +174,7 @@ dev_uev_process(struct epoll_event *events, int nfds)
 	struct rte_bus *bus;
 	struct rte_device *dev;
 	struct rte_eal_uevent uevent;
+	int ret;
 	int i;
 
 	for (i = 0; i < nfds; i++) {
@@ -187,9 +194,17 @@ dev_uev_process(struct epoll_event *events, int nfds)
 
 				if ((!dev) || dev->state == RTE_DEV_UNDEFINED)
 					return 0;
-				return(_rte_dev_callback_process(dev,
-				  RTE_DEV_EVENT_REMOVE,
-				  NULL));
+				dev->state = RTE_DEV_FAULT;
+
+				/**
+				 * remap the resource to be fake
+				 * before user's removal processing
+				 */
+				ret = bus->remap_device(dev);
+				if (!ret)
+					return(_rte_dev_callback_process(dev,
+					  RTE_DEV_EVENT_REMOVE,
+					  NULL));
 			} else if (uevent.type == RTE_DEV_EVENT_ADD) {
 				if (dev == NULL) {
 					return(_rte_dev_callback_process(NULL,
@@ -215,12 +230,26 @@ dev_uev_process(struct epoll_event *events, int nfds)
  */
 static int32_t dev_uev_monitoring(__rte_unused void *arg)
 {
+	struct sigaction act;
+	sigset_t mask;
 	int netlink_fd = -1;
 	struct epoll_event ep_kernel;
 	int fd_ep = -1;
 
 	service_exit = false;
 
+	/* set signal handlers */
+	memset(&act, 0x00, sizeof(struct sigaction));
+	act.sa_handler = sig_handler;
+	sigemptyset(&act.sa_mask);
+	act.sa_flags = SA_RESTART;
+	sigaction(SIGINT, &act, NULL);
+	sigaction(SIGTERM, &act, NULL);
+	sigemptyset(&mask);
+	sigaddset(&mask, SIGINT);
+	sigaddset(&mask, SIGTERM);
+	sigprocmask(SIG_UNBLOCK, &mask, NULL);
+
 	fd_ep = epoll_create1(EPOLL_CLOEXEC);
 	if (fd_ep < 0) {
 		RTE_LOG(ERR, EAL, "error creating epoll fd: %m\n");
diff --git a/lib/librte_eal/linuxapp/igb_uio/igb_uio.c b/lib/librte_eal/linuxapp/igb_uio/igb_uio.c
index a3a98c1..d0e07b4 100644
--- a/lib/librte_eal/linuxapp/igb_uio/igb_uio.c
+++ b/lib/librte_eal/linuxapp/igb_uio/igb_uio.c
@@ -354,6 +354,12 @@ igbuio_pci_release(struct uio_info *info, struct inode *inode)
 	struct rte_uio_pci_dev *udev = info->priv;
 	struct pci_dev *dev = udev->pdev;
 
+	/* check if device have been remove before release */
+	if ((&dev->dev.kobj)->state_remove_uevent_sent == 1) {
+		pr_info("The device have been removed\n");
+		return -1;
+	}
+
 	/* disable interrupts */
 	igbuio_pci_disable_interrupts(udev);
 
diff --git a/lib/librte_pci/rte_pci.c b/lib/librte_pci/rte_pci.c
index 0160fc1..feb5fd7 100644
--- a/lib/librte_pci/rte_pci.c
+++ b/lib/librte_pci/rte_pci.c
@@ -172,6 +172,26 @@ rte_pci_addr_parse(const char *str, struct rte_pci_addr *addr)
 	return -1;
 }
 
+/* map a private resource from an address*/
+void *
+pci_map_private_resource(void *requested_addr, off_t offset, size_t size)
+{
+	void *mapaddr;
+
+	mapaddr = mmap(requested_addr, size,
+			   PROT_READ | PROT_WRITE,
+			   MAP_PRIVATE | MAP_ANONYMOUS | MAP_FIXED, -1, 0);
+	if (mapaddr == MAP_FAILED) {
+		RTE_LOG(ERR, EAL, "%s(): cannot mmap(%p, 0x%lx, 0x%lx): "
+			"%s (%p)\n",
+			__func__, requested_addr,
+			(unsigned long)size, (unsigned long)offset,
+			strerror(errno), mapaddr);
+	} else
+		RTE_LOG(DEBUG, EAL, "  PCI memory mapped at %p\n", mapaddr);
+
+	return mapaddr;
+}
 
 /* map a particular resource from a file */
 void *
diff --git a/lib/librte_pci/rte_pci.h b/lib/librte_pci/rte_pci.h
index 4f2cd18..f6091a6 100644
--- a/lib/librte_pci/rte_pci.h
+++ b/lib/librte_pci/rte_pci.h
@@ -227,6 +227,23 @@ int rte_pci_addr_cmp(const struct rte_pci_addr *addr,
 int rte_pci_addr_parse(const char *str, struct rte_pci_addr *addr);
 
 /**
+ * @internal
+ * Map to a particular private resource.
+ *
+ * @param requested_addr
+ *      The starting address for the new mapping range.
+ * @param offset
+ *      The offset for the mapping range.
+ * @param size
+ *      The size for the mapping range.
+ * @return
+ *   - On success, the function returns a pointer to the mapped area.
+ *   - On error, the value MAP_FAILED is returned.
+ */
+void *pci_map_private_resource(void *requested_addr, off_t offset,
+		size_t size);
+
+/**
  * Map a particular resource from a file.
  *
  * @param requested_addr
-- 
2.7.4

  parent reply	other threads:[~2018-01-10  9:13 UTC|newest]

Thread overview: 494+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-05-28 15:44 [RFC] Add hot plug event in rte eal interrupt and inplement it in i40e driver Jeff Guo
2017-05-30  7:14 ` Gaëtan Rivet
2017-06-07  7:40   ` Wu, Jingjing
2017-06-15 21:22     ` Gaëtan Rivet
2017-06-21  2:50       ` Guo, Jia
2017-06-29 17:27     ` Stephen Hemminger
2017-06-30  3:36       ` Wu, Jingjing
2017-06-07  7:27 ` Wu, Jingjing
2017-06-28 11:07 ` [PATCH v2 1/2] eal: add uevent api for hot plug Jeff Guo
2017-06-28 11:07   ` [PATCH v2 2/2] net/i40e: add hot plug monitor in i40e Jeff Guo
2017-06-29  1:41     ` Wu, Jingjing
2017-06-29  4:31       ` Guo, Jia
2017-06-29  3:34     ` Stephen Hemminger
2017-06-29  4:48       ` Wu, Jingjing
2017-06-29  7:47         ` Guo, Jia
2017-06-29  4:37     ` [PATCH v3 0/2] add uevent api for hot plug Jeff Guo
2017-06-29  4:37       ` [PATCH v3 1/2] eal: " Jeff Guo
2017-06-30  3:38         ` Wu, Jingjing
2017-06-29  4:37       ` [PATCH v3 2/2] net/i40e: add hot plug monitor in i40e Jeff Guo
2017-06-30  3:38         ` Wu, Jingjing
2018-04-13  8:30       ` [PATCH V22 0/4] add device event monitor framework Jeff Guo
2018-04-13  8:30         ` [PATCH V22 1/4] eal: add device event handle in interrupt thread Jeff Guo
2018-04-13  8:30         ` [PATCH V22 2/4] eal: add device event monitor framework Jeff Guo
2018-04-13  8:30         ` [PATCH V22 3/4] eal/linux: uevent parse and process Jeff Guo
2018-04-13  8:30         ` [PATCH V22 4/4] app/testpmd: enable device hotplug monitoring Jeff Guo
2018-04-13 10:03         ` [PATCH V22 0/4] add device event monitor framework Thomas Monjalon
2018-04-18 13:38       ` [PATCH V20 0/4] add hot plug recovery mechanism Jeff Guo
2018-04-18 13:38         ` [PATCH V20 1/4] bus/pci: introduce device hot unplug handle Jeff Guo
2018-04-20 10:32           ` Ananyev, Konstantin
2018-05-03  3:05             ` Guo, Jia
2018-04-18 13:38         ` [PATCH V20 2/4] eal: add failure handler mechanism for hot plug Jeff Guo
2018-04-19  1:30           ` Zhang, Qi Z
2018-04-20 11:14           ` Ananyev, Konstantin
2018-05-03  3:13             ` Guo, Jia
2018-04-20 16:16           ` Ananyev, Konstantin
2018-05-03  3:17             ` Guo, Jia
2018-04-18 13:38         ` [PATCH V20 3/4] igb_uio: fix uio release issue when hot unplug Jeff Guo
2018-04-18 13:38         ` [PATCH V20 4/4] app/testpmd: show example to handler " Jeff Guo
2018-05-03  7:25           ` Matan Azrad
2018-05-03  9:35             ` Guo, Jia
2018-05-03 11:27               ` Matan Azrad
2018-05-03  8:57       ` [PATCH V21 0/4] hot plug recovery mechanism Jeff Guo
2018-05-03  8:57         ` [PATCH V21 1/4] bus/pci: handle device hot unplug Jeff Guo
2018-05-03  8:57         ` [PATCH V21 2/4] eal: add failure handle mechanism for hot plug Jeff Guo
2018-05-03  8:57         ` [PATCH V21 3/4] igb_uio: fix uio release issue when hot unplug Jeff Guo
2018-05-03  8:57         ` [PATCH V21 4/4] app/testpmd: show example to handle " Jeff Guo
2018-05-16 14:30           ` Iremonger, Bernard
2018-05-03 10:48       ` [PATCH V21 0/4] hot plug recovery mechanism Jeff Guo
2018-05-03 10:48         ` [PATCH V21 1/4] bus/pci: handle device hot unplug Jeff Guo
2018-05-03 10:48         ` [PATCH V21 2/4] eal: add failure handle mechanism for hot plug Jeff Guo
2018-05-04 15:56           ` Ananyev, Konstantin
2018-05-08 14:57             ` Guo, Jia
2018-05-08 15:19               ` Ananyev, Konstantin
2018-05-03 10:48         ` [PATCH V21 3/4] igb_uio: fix uio release issue when hot unplug Jeff Guo
2018-05-03 10:48         ` [PATCH V21 4/4] app/testpmd: show example to handle " Jeff Guo
2018-06-14 12:59           ` Iremonger, Bernard
2018-06-15  8:32             ` Guo, Jia
2018-06-22 11:51       ` [PATCH v2 0/4] hot plug failure handle mechanism Jeff Guo
2018-06-22 11:51         ` [PATCH v2 1/4] bus/pci: handle device hot unplug Jeff Guo
2018-06-22 12:59           ` Gaëtan Rivet
2018-06-26 15:30             ` Guo, Jia
2018-06-22 11:51         ` [PATCH v2 2/4] eal: add failure handle mechanism for hot plug Jeff Guo
2018-06-22 11:51         ` [PATCH v2 3/4] igb_uio: fix uio release issue when hot unplug Jeff Guo
2018-06-22 11:51         ` [PATCH v2 4/4] app/testpmd: show example to handle " Jeff Guo
2018-06-26 10:06           ` Iremonger, Bernard
2018-06-26 11:58           ` Matan Azrad
2018-06-26 15:33             ` Guo, Jia
2018-06-26 15:36       ` [PATCH V3 1/4] bus/pci: handle device " Jeff Guo
2018-06-26 15:36         ` [PATCH V3 2/4] eal: add failure handle mechanism for hot plug Jeff Guo
2018-06-26 15:36         ` [PATCH V3 3/4] igb_uio: fix uio release issue when hot unplug Jeff Guo
2018-06-26 15:36         ` [PATCH V3 4/4] app/testpmd: show example to handle " Jeff Guo
2018-06-26 17:07           ` Matan Azrad
2018-06-27  3:56             ` Guo, Jia
2018-06-27  6:05               ` Matan Azrad
2018-06-29 10:26                 ` Guo, Jia
2018-06-29 10:30       ` [PATCH V4 0/9] hot plug failure handle mechanism Jeff Guo
2018-06-29 10:30         ` [PATCH V4 1/9] bus: introduce hotplug failure handler Jeff Guo
2018-07-03 22:21           ` Thomas Monjalon
2018-07-04  7:16             ` Guo, Jia
2018-07-04  7:55               ` Thomas Monjalon
2018-07-05  6:23                 ` Guo, Jia
2018-07-05  8:30                   ` Thomas Monjalon
2018-06-29 10:30         ` [PATCH V4 2/9] bus/pci: implement hotplug handler operation Jeff Guo
2018-06-29 10:30         ` [PATCH V4 3/9] bus: introduce sigbus handler Jeff Guo
2018-07-10 21:55           ` Stephen Hemminger
2018-07-11  2:15             ` Jeff Guo
2018-06-29 10:30         ` [PATCH V4 4/9] bus/pci: implement sigbus handler operation Jeff Guo
2018-06-29 10:30         ` [PATCH V4 5/9] bus: add helper to handle sigbus Jeff Guo
2018-06-29 10:51           ` Ananyev, Konstantin
2018-06-29 11:23             ` Guo, Jia
2018-06-29 12:21               ` Ananyev, Konstantin
2018-06-29 12:52                 ` Gaëtan Rivet
2018-07-03 11:24                   ` Guo, Jia
2018-06-29 10:30         ` [PATCH V4 6/9] eal: add failure handle mechanism for hot plug Jeff Guo
2018-06-29 10:49           ` Ananyev, Konstantin
2018-06-29 11:15             ` Guo, Jia
2018-06-29 12:06               ` Ananyev, Konstantin
2018-06-29 10:30         ` [PATCH V4 7/9] igb_uio: fix uio release issue when hot unplug Jeff Guo
2018-07-03 12:12           ` Ferruh Yigit
2018-06-29 10:30         ` [PATCH V4 8/9] app/testpmd: show example to handle " Jeff Guo
2018-07-01  7:46           ` Matan Azrad
2018-07-03  9:35             ` Guo, Jia
2018-07-03 22:44               ` Thomas Monjalon
2018-07-04  3:48                 ` Guo, Jia
2018-07-04  7:06                 ` Matan Azrad
2018-07-05  7:54                   ` Guo, Jia
2018-06-29 10:30         ` [PATCH V4 9/9] app/testpmd: enable device hotplug monitoring Jeff Guo
2018-07-05  7:38       ` [PATCH V5 0/7] hot plug failure handle mechanism Jeff Guo
2018-07-05  7:38         ` [PATCH V5 1/7] bus: add hotplug failure handler Jeff Guo
2018-07-06 15:17           ` He, Shaopeng
2018-07-05  7:38         ` [PATCH V5 2/7] bus/pci: implement hotplug failure handler ops Jeff Guo
2018-07-06 15:17           ` He, Shaopeng
2018-07-09  5:29             ` Jeff Guo
2018-07-05  7:38         ` [PATCH V5 3/7] bus: add sigbus handler Jeff Guo
2018-07-06 15:17           ` He, Shaopeng
2018-07-05  7:38         ` [PATCH V5 4/7] bus/pci: implement sigbus handler operation Jeff Guo
2018-07-06 15:18           ` He, Shaopeng
2018-07-05  7:38         ` [PATCH V5 5/7] bus: add helper to handle sigbus Jeff Guo
2018-07-06 15:22           ` He, Shaopeng
2018-07-09  5:31             ` Jeff Guo
2018-07-08 13:30           ` Andrew Rybchenko
2018-07-09  5:33             ` Jeff Guo
2018-07-05  7:38         ` [PATCH V5 6/7] eal: add failure handle mechanism for hotplug Jeff Guo
2018-07-06 15:22           ` He, Shaopeng
2018-07-08 13:46           ` Andrew Rybchenko
2018-07-09  5:40             ` Jeff Guo
2018-07-05  8:21       ` [PATCH V5 0/7] hot plug failure handle mechanism Jeff Guo
2018-07-05  8:21         ` [PATCH V5 7/7] igb_uio: fix uio release issue when hot unplug Jeff Guo
2018-07-09  6:51       ` [PATCH v6 0/7] hotplug failure handle mechanism Jeff Guo
2018-07-09  6:51         ` [PATCH v6 1/7] bus: add hotplug failure handler Jeff Guo
2018-07-09  6:51         ` [PATCH v6 2/7] bus/pci: implement hotplug failure handler ops Jeff Guo
2018-07-09  6:51         ` [PATCH v6 3/7] bus: add sigbus handler Jeff Guo
2018-07-09  6:51         ` [PATCH v6 4/7] bus/pci: implement sigbus handler operation Jeff Guo
2018-07-09  6:51         ` [PATCH v6 5/7] bus: add helper to handle sigbus Jeff Guo
2018-07-09  6:51         ` [PATCH v6 6/7] eal: add failure handle mechanism for hotplug Jeff Guo
2018-07-09  7:42           ` Gaëtan Rivet
2018-07-09  8:12             ` Jeff Guo
2018-07-09  6:51         ` [PATCH v6 7/7] igb_uio: fix uio release issue when hot unplug Jeff Guo
2018-07-09 11:56       ` [PATCH v7 0/7] hotplug failure handle mechanism Jeff Guo
2018-07-09 11:56         ` [PATCH v7 1/7] bus: add hotplug failure handler Jeff Guo
2018-07-09 11:56         ` [PATCH v7 2/7] bus/pci: implement hotplug failure handler ops Jeff Guo
2018-07-09 11:56         ` [PATCH v7 3/7] bus: add sigbus handler Jeff Guo
2018-07-09 11:56         ` [PATCH v7 4/7] bus/pci: implement sigbus handler operation Jeff Guo
2018-07-09 11:56         ` [PATCH v7 5/7] bus: add helper to handle sigbus Jeff Guo
2018-07-09 11:56         ` [PATCH v7 6/7] eal: add failure handle mechanism for hotplug Jeff Guo
2018-07-09 11:56         ` [PATCH v7 7/7] igb_uio: fix uio release issue when hot unplug Jeff Guo
2018-07-09 12:00       ` [PATCH v7 0/7] hotplug failure handle mechanism Jeff Guo
2018-07-09 12:01         ` [PATCH v7 1/7] bus: add hotplug failure handler Jeff Guo
2018-07-09 12:01         ` [PATCH v7 2/7] bus/pci: implement hotplug failure handler ops Jeff Guo
2018-07-09 12:01         ` [PATCH v7 3/7] bus: add sigbus handler Jeff Guo
2018-07-09 12:01         ` [PATCH v7 4/7] bus/pci: implement sigbus handler operation Jeff Guo
2018-07-09 12:01         ` [PATCH v7 5/7] bus: add helper to handle sigbus Jeff Guo
2018-07-09 13:48           ` Andrew Rybchenko
2018-07-10  8:22             ` Jeff Guo
2018-07-10  8:40               ` Gaëtan Rivet
2018-07-10 10:07                 ` Jeff Guo
2018-07-09 12:01         ` [PATCH v7 6/7] eal: add failure handle mechanism for hotplug Jeff Guo
2018-07-09 13:50           ` Andrew Rybchenko
2018-07-10  8:23             ` Jeff Guo
2018-07-09 12:01         ` [PATCH v7 7/7] igb_uio: fix uio release issue when hot unplug Jeff Guo
2018-07-09 22:44           ` Stephen Hemminger
2018-07-10  8:28             ` Jeff Guo
2018-07-10 11:03       ` [PATCH v8 0/7] hotplug failure handle mechanism Jeff Guo
2018-07-10 11:03         ` [PATCH v8 1/7] bus: add hotplug failure handler Jeff Guo
2018-07-10 11:03         ` [PATCH v8 2/7] bus/pci: implement hotplug failure handler ops Jeff Guo
2018-07-10 11:03         ` [PATCH v8 3/7] bus: add sigbus handler Jeff Guo
2018-07-10 11:03         ` [PATCH v8 4/7] bus/pci: implement sigbus handler operation Jeff Guo
2018-07-10 11:03         ` [PATCH v8 5/7] bus: add helper to handle sigbus Jeff Guo
2018-07-10 11:03         ` [PATCH v8 6/7] eal: add failure handle mechanism for hotplug Jeff Guo
2018-07-10 11:03         ` [PATCH v8 7/7] igb_uio: fix uio release issue " Jeff Guo
2018-07-10 21:48           ` Stephen Hemminger
2018-07-11  3:10             ` Jeff Guo
2018-07-10 21:52           ` Stephen Hemminger
2018-07-11  2:46             ` Jeff Guo
2018-07-11 10:01               ` Jeff Guo
2018-07-11 10:41       ` [PATCH v9 0/7] hotplug failure handle mechanism Jeff Guo
2018-07-11 10:41         ` [PATCH v9 1/7] bus: add hotplug failure handler Jeff Guo
2018-07-11 10:41         ` [PATCH v9 2/7] bus/pci: implement hotplug failure handler ops Jeff Guo
2018-07-11 10:41         ` [PATCH v9 3/7] bus: add sigbus handler Jeff Guo
2018-07-11 10:41         ` [PATCH v9 4/7] bus/pci: implement sigbus handler operation Jeff Guo
2018-07-11 10:41         ` [PATCH v9 5/7] bus: add helper to handle sigbus Jeff Guo
2018-07-11 10:41         ` [PATCH v9 6/7] eal: add failure handle mechanism for hotplug Jeff Guo
2018-07-11 10:41         ` [PATCH v9 7/7] igb_uio: fix unexpected remove issue " Jeff Guo
2018-07-12  1:57           ` He, Shaopeng
2018-07-11 15:46         ` [PATCH v9 0/7] hotplug failure handle mechanism Stephen Hemminger
2018-07-12  3:14           ` Jeff Guo
2018-08-17 10:48       ` [PATCH v10 0/8] " Jeff Guo
2018-08-17 10:48         ` [PATCH v10 1/8] bus: add memory failure handler Jeff Guo
2018-08-17 10:48         ` [PATCH v10 2/8] bus/pci: implement memory failure handler ops Jeff Guo
2018-08-17 10:48         ` [PATCH v10 3/8] bus: add sigbus handler Jeff Guo
2018-08-17 10:48         ` [PATCH v10 4/8] bus/pci: implement sigbus handler ops Jeff Guo
2018-08-17 10:48         ` [PATCH v10 5/8] bus: add helper to handle sigbus Jeff Guo
2018-08-17 10:48         ` Jeff Guo
2018-08-17 10:48         ` [PATCH v10 6/8] eal: add failure handle mechanism for hotplug Jeff Guo
2018-08-17 10:48         ` [PATCH v10 7/8] igb_uio: fix unexpected remove issue " Jeff Guo
2018-09-27 15:07           ` Ferruh Yigit
2018-10-18  5:51             ` Jeff Guo
2018-10-18  6:27           ` [PATCH v1] igb_uio: fix unexpected removal for hot-unplug Jeff Guo
2018-10-18 16:06             ` Ferruh Yigit
2018-10-19  8:35               ` Jeff Guo
2018-10-22 11:13                 ` Ferruh Yigit
2018-10-24 23:14                   ` Thomas Monjalon
2018-08-17 10:48         ` [PATCH v10 8/8] testpmd: use hotplug failure handle mechanism Jeff Guo
2018-09-30 10:24       ` [PATCH v11 0/7] hot-unplug " Jeff Guo
2018-09-30 10:24         ` [PATCH v11 1/7] bus: add hot-unplug handler Jeff Guo
2018-09-30 10:24         ` [PATCH v11 2/7] bus/pci: implement hot-unplug handler ops Jeff Guo
2018-09-30 10:24         ` [PATCH v11 3/7] bus: add sigbus handler Jeff Guo
2018-09-30 10:24         ` [PATCH v11 4/7] bus/pci: implement sigbus handler ops Jeff Guo
2018-09-30 10:24         ` [PATCH v11 5/7] bus: add helper to handle sigbus Jeff Guo
2018-09-30 10:24         ` [PATCH v11 6/7] eal: add failure handle mechanism for hot-unplug Jeff Guo
2018-09-30 10:24         ` [PATCH v11 7/7] testpmd: use hot-unplug failure handle mechanism Jeff Guo
2018-09-30 11:29       ` [PATCH v11 0/7] " Jeff Guo
2018-09-30 11:29         ` [PATCH v11 1/7] bus: add hot-unplug handler Jeff Guo
2018-09-30 11:29         ` [PATCH v11 2/7] bus/pci: implement hot-unplug handler ops Jeff Guo
2018-09-30 11:29         ` [PATCH v11 3/7] bus: add sigbus handler Jeff Guo
2018-09-30 11:30         ` [PATCH v11 4/7] bus/pci: implement sigbus handler ops Jeff Guo
2018-09-30 11:30         ` [PATCH v11 5/7] bus: add helper to handle sigbus Jeff Guo
2018-09-30 11:30         ` [PATCH v11 6/7] eal: add failure handle mechanism for hot-unplug Jeff Guo
2018-09-30 19:46           ` Ananyev, Konstantin
2018-10-02  4:01             ` Jeff Guo
2018-09-30 11:30         ` [PATCH v11 7/7] testpmd: use hot-unplug failure handle mechanism Jeff Guo
2018-10-01  9:00         ` [PATCH v11 0/7] " Stephen Hemminger
2018-10-01  9:55           ` Jerin Jacob
2018-10-02 10:08             ` Jeff Guo
2018-10-02  9:57           ` Jeff Guo
2018-10-02 12:32       ` [PATCH v12 " Jeff Guo
2018-10-02 12:32         ` [PATCH v12 1/7] bus: add hot-unplug handler Jeff Guo
2018-10-02 12:32         ` [PATCH v12 2/7] bus/pci: implement hot-unplug handler ops Jeff Guo
2018-10-02 12:32         ` [PATCH v12 3/7] bus: add sigbus handler Jeff Guo
2018-10-02 12:32         ` [PATCH v12 4/7] bus/pci: implement sigbus handler ops Jeff Guo
2018-10-02 12:32         ` [PATCH v12 5/7] bus: add helper to handle sigbus Jeff Guo
2018-10-02 12:32         ` [PATCH v11 6/7] eal: add failure handle mechanism for hot-unplug Jeff Guo
2018-10-02 12:32         ` [PATCH v11 7/7] testpmd: use hot-unplug failure handle mechanism Jeff Guo
2018-10-02 12:35       ` [PATCH v12 0/7] " Jeff Guo
2018-10-02 12:35         ` [PATCH v12 1/7] bus: add hot-unplug handler Jeff Guo
2018-10-02 12:35         ` [PATCH v12 2/7] bus/pci: implement hot-unplug handler ops Jeff Guo
2018-10-02 12:35         ` [PATCH v12 3/7] bus: add sigbus handler Jeff Guo
2018-10-02 14:32           ` Burakov, Anatoly
2018-10-04  3:14             ` Jeff Guo
2018-10-02 12:35         ` [PATCH v12 4/7] bus/pci: implement sigbus handler ops Jeff Guo
2018-10-02 14:39           ` Burakov, Anatoly
2018-10-04  3:58             ` Jeff Guo
2018-10-02 12:35         ` [PATCH v12 5/7] bus: add helper to handle sigbus Jeff Guo
2018-10-02 12:35         ` [PATCH v12 6/7] eal: add failure handle mechanism for hot-unplug Jeff Guo
2018-10-02 13:34           ` Ananyev, Konstantin
2018-10-04  2:31             ` Jeff Guo
2018-10-02 15:53           ` Burakov, Anatoly
2018-10-02 16:00             ` Ananyev, Konstantin
2018-10-04  3:12             ` Jeff Guo
2018-10-02 12:35         ` [PATCH v12 7/7] testpmd: use hot-unplug failure handle mechanism Jeff Guo
2018-10-02 15:21           ` Iremonger, Bernard
2018-10-04  2:56             ` Jeff Guo
2018-10-04  6:30       ` [PATCH v13 0/7] " Jeff Guo
2018-10-04  6:30         ` [PATCH v13 1/7] bus: add hot-unplug handler Jeff Guo
2018-10-04  6:30         ` [PATCH v13 2/7] bus/pci: implement hot-unplug handler ops Jeff Guo
2018-10-04  6:30         ` [PATCH v13 3/7] bus: add sigbus handler Jeff Guo
2018-10-04  6:30         ` [PATCH v13 4/7] bus/pci: implement sigbus handler ops Jeff Guo
2018-10-04  6:30         ` [PATCH v13 5/7] bus: add helper to handle sigbus Jeff Guo
2018-10-04  6:30         ` [PATCH v13 6/7] eal: add failure handle mechanism for hot-unplug Jeff Guo
2018-10-04  6:30         ` [PATCH v13 7/7] app/testpmd: use hotplug failure handler Jeff Guo
2018-10-04 10:31           ` Iremonger, Bernard
2018-10-04 13:53             ` Jeff Guo
2018-10-04 12:02         ` [PATCH v13 0/7] hot-unplug failure handle mechanism Ananyev, Konstantin
2018-10-04 14:46       ` [PATCH v14 " Jeff Guo
2018-10-04 14:46         ` [PATCH v14 1/7] bus: add hot-unplug handler Jeff Guo
2018-10-04 14:46         ` [PATCH v14 2/7] bus/pci: implement hot-unplug handler ops Jeff Guo
2018-10-04 14:46         ` [PATCH v14 3/7] bus: add sigbus handler Jeff Guo
2018-10-04 14:46         ` [PATCH v14 4/7] bus/pci: implement sigbus handler ops Jeff Guo
2018-10-04 14:46         ` [PATCH v14 5/7] bus: add helper to handle sigbus Jeff Guo
2018-10-04 14:46         ` [PATCH v14 6/7] eal: add failure handle mechanism for hot-unplug Jeff Guo
2018-10-15 10:43           ` Thomas Monjalon
2018-10-04 14:46         ` [PATCH v14 7/7] app/testpmd: use hotplug failure handler Jeff Guo
2018-10-05 12:26           ` Iremonger, Bernard
2018-10-15 11:27       ` [PATCH v15 0/7] hot-unplug failure handle mechanism Jeff Guo
2018-10-15 11:27         ` [PATCH v15 1/7] bus: add hot-unplug handler Jeff Guo
2018-10-15 11:27         ` [PATCH v15 2/7] bus/pci: implement hot-unplug handler ops Jeff Guo
2018-10-15 11:27         ` [PATCH v15 3/7] bus: add sigbus handler Jeff Guo
2018-10-15 11:27         ` [PATCH v15 4/7] bus/pci: implement sigbus handler ops Jeff Guo
2018-10-15 13:41           ` Thomas Monjalon
2018-10-15 14:16             ` Thomas Monjalon
2018-10-15 11:27         ` [PATCH v15 5/7] bus: add helper to handle sigbus Jeff Guo
2018-10-15 11:27         ` [PATCH v15 6/7] eal: add failure handle mechanism for hot-unplug Jeff Guo
2018-10-15 11:27         ` [PATCH v15 7/7] app/testpmd: use hotplug failure handler Jeff Guo
2018-10-15 20:19         ` [PATCH v15 0/7] hot-unplug failure handle mechanism Thomas Monjalon
2017-06-29  5:01     ` [PATCH v3 0/2] add uevent api for hot plug Jeff Guo
2017-06-29  5:01       ` [PATCH v3 1/2] eal: " Jeff Guo
2017-07-04  7:15         ` Wu, Jingjing
2017-09-03 15:49         ` [PATCH v4 0/2] add uevent monitor " Jeff Guo
2017-09-03 15:49           ` [PATCH v4 1/2] eal: " Jeff Guo
2017-09-03 16:10             ` Stephen Hemminger
2017-09-03 16:12             ` Stephen Hemminger
2017-09-05  5:28               ` Guo, Jia
2017-09-03 16:14             ` Stephen Hemminger
2017-09-03 16:16             ` Stephen Hemminger
2017-09-03 15:49           ` [PATCH v4 2/2] app/testpmd: use uevent to monitor hot removal Jeff Guo
2017-09-20  4:12             ` [PATCH v5 0/2] add uevent monitor for hot plug Jeff Guo
2017-09-19 18:44               ` Jan Blunck
2017-09-20  6:51                 ` Guo, Jia
2017-09-20  4:12               ` [PATCH v5 1/2] eal: " Jeff Guo
2017-09-20  4:12               ` [PATCH v5 2/2] app/testpmd: use uevent to monitor hot removal Jeff Guo
2017-11-01 20:16                 ` [PATCH v6 0/2] add uevent monitor for hot plug Jeff Guo
2017-11-01 20:16                   ` [PATCH v6 1/2] eal: " Jeff Guo
2017-11-01 21:36                     ` Stephen Hemminger
2017-11-01 21:41                     ` Stephen Hemminger
2017-11-08  5:39                       ` Guo, Jia
2017-12-25  8:30                       ` Guo, Jia
2017-12-25 18:06                     ` Stephen Hemminger
2018-01-02  9:40                       ` Guo, Jia
2017-11-01 20:16                   ` [PATCH v6 2/2] app/testpmd: use uevent to monitor hotplug Jeff Guo
2018-01-03  1:42                     ` [PATCH v7 0/2] add uevent monitor for hot plug Jeff Guo
2018-01-03  1:42                       ` [PATCH v7 1/2] eal: " Jeff Guo
2018-01-02 17:02                         ` Matan Azrad
2018-01-08  5:26                           ` Guo, Jia
2018-01-08  8:14                             ` Matan Azrad
2018-01-08  6:05                           ` Guo, Jia
2018-01-09  0:39                         ` Thomas Monjalon
2018-01-09  8:25                           ` Guo, Jia
2018-01-09 10:31                             ` Mordechay Haimovsky
2018-01-09 10:47                               ` Thomas Monjalon
2018-01-09 11:39                                 ` Guo, Jia
2018-01-09 11:44                                   ` Thomas Monjalon
2018-01-09 12:08                                     ` Guo, Jia
2018-01-09 12:42                                       ` Gaëtan Rivet
2018-01-10  9:29                                         ` Guo, Jia
2018-01-09 13:44                                       ` Thomas Monjalon
2018-01-10  9:32                                         ` Guo, Jia
2018-01-09 11:45                               ` Guo, Jia
2018-01-09 11:38                             ` Thomas Monjalon
2018-01-09 11:58                               ` Guo, Jia
2018-01-09 13:40                                 ` Thomas Monjalon
2018-01-03  1:42                       ` [PATCH v7 2/2] app/testpmd: use uevent to monitor hotplug Jeff Guo
2018-01-10  3:30                         ` [PATCH V8 0/3] add uevent mechanism in eal framework Jeff Guo
2018-01-10  3:30                           ` [PATCH V8 1/3] eal: add uevent monitor for hot plug Jeff Guo
2018-01-10  3:30                           ` [PATCH V8 2/3] igb_uio: fix device removal issuse for hotplug Jeff Guo
2018-01-10  3:30                           ` [PATCH V8 3/3] app/testpmd: use uevent to monitor hotplug Jeff Guo
2018-01-10  9:12                             ` [PATCH V9 0/5] add uevent mechanism in eal framework Jeff Guo
2018-01-10  9:12                               ` [PATCH V9 1/5] eal: add uevent monitor api and callback func Jeff Guo
2018-01-10 16:34                                 ` Stephen Hemminger
2018-01-11  1:43                                 ` Thomas Monjalon
2018-01-11 14:24                                   ` Guo, Jia
2018-01-10  9:12                               ` [PATCH V9 2/5] eal: add uevent pass and process function Jeff Guo
2018-01-11 14:05                                 ` [PATCH V10 1/2] eal: add uevent monitor api and callback func Jeff Guo
2018-01-11 14:05                                   ` [PATCH V10 2/2] eal: add uevent pass and process function Jeff Guo
2018-01-14 23:24                                     ` Thomas Monjalon
2018-01-15 10:52                                       ` Guo, Jia
2018-01-15 11:29                                         ` Thomas Monjalon
2018-01-15 15:33                                           ` Guo, Jia
2018-01-15 10:48                                     ` [PATCH V11 1/3] eal: add uevent monitor api and callback func Jeff Guo
2018-01-15 10:48                                       ` [PATCH V11 2/3] eal: add uevent pass and process function Jeff Guo
2018-01-17 22:00                                         ` Thomas Monjalon
2018-01-18  4:17                                           ` Guo, Jia
2018-01-15 10:48                                       ` [PATCH V11 3/3] app/testpmd: use uevent to monitor hotplug Jeff Guo
2018-01-18  4:12                                         ` [PATCH V12 1/3] eal: add uevent monitor api and callback func Jeff Guo
2018-01-18  4:12                                           ` [PATCH V12 2/3] eal: add uevent pass and process function Jeff Guo
2018-01-24 15:00                                             ` Wu, Jingjing
2018-01-18  4:12                                           ` [PATCH V12 3/3] app/testpmd: use uevent to monitor hotplug Jeff Guo
2018-01-24 15:21                                             ` Wu, Jingjing
2018-01-25 14:58                                               ` Guo, Jia
2018-01-25 14:46                                             ` [PATCH V13 1/3] eal: add uevent monitor api and callback func Jeff Guo
2018-01-25 14:46                                               ` [PATCH V13 2/3] eal: add uevent pass and process function Jeff Guo
2018-01-25 14:46                                               ` [PATCH V13 3/3] app/testpmd: use uevent to monitor hotplug Jeff Guo
2018-01-26  3:49                                             ` [PATCH V13 1/3] eal: add uevent monitor api and callback func Jeff Guo
2018-01-26  3:49                                               ` [PATCH V13 2/3] eal: add uevent pass and process function Jeff Guo
2018-01-26  3:49                                               ` [PATCH V13 3/3] app/testpmd: use uevent to monitor hotplug Jeff Guo
2018-01-30 12:20                                                 ` [PATCH V14 1/3] eal: add uevent monitor api and callback func Jeff Guo
2018-01-30 12:20                                                   ` [PATCH V14 2/3] eal: add uevent pass and process function Jeff Guo
2018-01-30 12:21                                                   ` [PATCH V14 3/3] app/testpmd: use uevent to monitor hotplug Jeff Guo
2018-01-31  5:21                                                     ` Wu, Jingjing
2018-03-21  5:27                                                     ` [PATCH V15 1/5] eal: add uevent monitor api and callback func Jeff Guo
2018-03-21  5:27                                                       ` [PATCH V15 2/5] eal: add uevent pass and process function Jeff Guo
2018-03-21 14:20                                                         ` Tan, Jianfeng
2018-03-22  8:20                                                           ` Guo, Jia
2018-03-21  5:27                                                       ` [PATCH V15 3/5] app/testpmd: use uevent to monitor hotplug Jeff Guo
2018-03-26 10:55                                                         ` [PATCH V16 0/3] add device event monitor framework Jeff Guo
2018-03-26 10:55                                                           ` [PATCH V16 1/3] eal: add device event handle in interrupt thread Jeff Guo
2018-03-26 10:55                                                           ` [PATCH V16 2/3] eal: add device event monitor framework Jeff Guo
2018-03-26 10:55                                                           ` [PATCH V16 3/3] app/testpmd: enable device hotplug monitoring Jeff Guo
2018-03-26 11:20                                                         ` [PATCH V16 0/4] add device event monitor framework Jeff Guo
2018-03-26 11:20                                                           ` [PATCH V16 1/4] eal: add device event handle in interrupt thread Jeff Guo
2018-03-27  9:26                                                             ` Tan, Jianfeng
2018-03-28  8:14                                                               ` Guo, Jia
2018-03-26 11:20                                                           ` [PATCH V16 2/4] eal: add device event monitor framework Jeff Guo
2018-03-28  3:39                                                             ` Tan, Jianfeng
2018-03-28  8:12                                                               ` Guo, Jia
2018-03-26 11:20                                                           ` [PATCH V16 3/4] eal/linux: uevent parse and process Jeff Guo
2018-03-28 16:15                                                             ` Tan, Jianfeng
2018-03-29 13:32                                                               ` Van Haaren, Harry
2018-03-29 15:03                                                                 ` Guo, Jia
2018-03-29 15:08                                                               ` Guo, Jia
2018-03-26 11:20                                                           ` [PATCH V16 4/4] app/testpmd: enable device hotplug monitoring Jeff Guo
2018-03-28 16:41                                                             ` Tan, Jianfeng
2018-03-29 16:00                                                             ` [PATCH V17 0/4] add device event monitor framework Jeff Guo
2018-03-29 16:00                                                               ` [PATCH V17 1/4] eal: add device event handle in interrupt thread Jeff Guo
2018-03-29 16:00                                                               ` [PATCH V17 2/4] eal: add device event monitor framework Jeff Guo
2018-03-29 16:00                                                               ` [PATCH V17 3/4] eal/linux: uevent parse and process Jeff Guo
2018-03-29 16:59                                                                 ` Stephen Hemminger
2018-04-02  4:20                                                                   ` Guo, Jia
2018-03-29 17:00                                                                 ` Stephen Hemminger
2018-04-02  4:19                                                                   ` Guo, Jia
2018-03-29 16:00                                                               ` [PATCH V17 4/4] app/testpmd: enable device hotplug monitoring Jeff Guo
2018-03-29 17:00                                                                 ` Stephen Hemminger
2018-04-02  4:18                                                                   ` Guo, Jia
2018-04-02  5:49                                                                 ` Wu, Jingjing
2018-04-02 11:31                                                                   ` Guo, Jia
2018-04-03 10:33                                                                 ` [PATCH V18 0/4] add device event monitor framework Jeff Guo
2018-04-03 10:33                                                                   ` [PATCH V18 1/4] eal: add device event handle in interrupt thread Jeff Guo
2018-04-04  1:47                                                                     ` Tan, Jianfeng
2018-04-04  4:00                                                                       ` Guo, Jia
2018-04-03 10:33                                                                   ` [PATCH V18 2/4] eal: add device event monitor framework Jeff Guo
2018-04-04  2:53                                                                     ` Tan, Jianfeng
2018-04-05  3:44                                                                       ` Guo, Jia
2018-04-03 10:33                                                                   ` [PATCH V18 3/4] eal/linux: uevent parse and process Jeff Guo
2018-04-04  3:15                                                                     ` Tan, Jianfeng
2018-04-05  6:09                                                                       ` Guo, Jia
2018-04-03 10:33                                                                   ` [PATCH V18 4/4] app/testpmd: enable device hotplug monitoring Jeff Guo
2018-04-04  3:22                                                                     ` Tan, Jianfeng
2018-04-04 16:31                                                                       ` Matan Azrad
2018-04-05  8:40                                                                         ` Guo, Jia
2018-04-05  9:03                                                                         ` Tan, Jianfeng
2018-04-05  8:32                                                                     ` [PATCH V19 0/4] add device event monitor framework Jeff Guo
2018-04-05  8:32                                                                       ` [PATCH V19 1/4] eal: add device event handle in interrupt thread Jeff Guo
2018-04-05  8:32                                                                       ` [PATCH V19 2/4] eal: add device event monitor framework Jeff Guo
2018-04-05 10:15                                                                         ` Tan, Jianfeng
2018-04-05  8:32                                                                       ` [PATCH V19 3/4] eal/linux: uevent parse and process Jeff Guo
2018-04-05  8:32                                                                       ` [PATCH V19 4/4] app/testpmd: enable device hotplug monitoring Jeff Guo
2018-04-05  9:02                                                                     ` [PATCH V19 0/4] add device event monitor framework Jeff Guo
2018-04-05  9:02                                                                       ` [PATCH V19 1/4] eal: add device event handle in interrupt thread Jeff Guo
2018-04-05  9:02                                                                       ` [PATCH V19 2/4] eal: add device event monitor framework Jeff Guo
2018-04-05  9:02                                                                       ` [PATCH V19 3/4] eal/linux: uevent parse and process Jeff Guo
2018-04-05 11:05                                                                         ` Tan, Jianfeng
2018-04-11 11:40                                                                           ` Guo, Jia
2018-04-05  9:02                                                                       ` [PATCH V19 4/4] app/testpmd: enable device hotplug monitoring Jeff Guo
2018-04-05 16:10                                                                         ` [PATCH V20 0/4] add device event monitor framework Jeff Guo
2018-04-05 16:10                                                                           ` [PATCH V20 1/4] eal: add device event handle in interrupt thread Jeff Guo
2018-04-05 16:10                                                                           ` [PATCH V20 2/4] eal: add device event monitor framework Jeff Guo
2018-04-05 21:54                                                                             ` Thomas Monjalon
2018-04-06  3:51                                                                               ` Guo, Jia
2018-04-05 16:10                                                                           ` [PATCH V20 3/4] eal/linux: uevent parse and process Jeff Guo
2018-04-05 16:22                                                                             ` Tan, Jianfeng
2018-04-06  3:47                                                                               ` Guo, Jia
2018-04-05 21:58                                                                             ` Thomas Monjalon
2018-04-06  3:52                                                                               ` Guo, Jia
2018-04-05 16:10                                                                           ` [PATCH V20 4/4] app/testpmd: enable device hotplug monitoring Jeff Guo
2018-04-05 21:48                                                                             ` Thomas Monjalon
2018-04-06  3:51                                                                               ` Guo, Jia
2018-04-06  3:54                                                                             ` [PATCH V21 0/4] add device event monitor framework Jeff Guo
2018-04-06  3:54                                                                               ` [PATCH V21 1/4] eal: add device event handle in interrupt thread Jeff Guo
2018-04-06  3:55                                                                               ` [PATCH V21 2/4] eal: add device event monitor framework Jeff Guo
2018-04-12  8:36                                                                                 ` Thomas Monjalon
2018-04-06  3:55                                                                               ` [PATCH V21 3/4] eal/linux: uevent parse and process Jeff Guo
2018-04-06  3:55                                                                               ` [PATCH V21 4/4] app/testpmd: enable device hotplug monitoring Jeff Guo
2018-01-31  0:44                                                   ` [PATCH V14 1/3] eal: add uevent monitor api and callback func Stephen Hemminger
2018-02-02 10:45                                                     ` Guo, Jia
2018-01-26 16:53                                               ` [PATCH V13 " Bruce Richardson
2018-01-27  3:48                                                 ` Guo, Jia
2018-01-30  0:14                                                   ` Thomas Monjalon
2018-01-30 12:20                                                     ` Guo, Jia
2018-01-19  1:13                                           ` [PATCH V12 " Thomas Monjalon
2018-01-19  2:51                                             ` Guo, Jia
2018-01-24 14:52                                           ` Wu, Jingjing
2018-01-25 14:57                                             ` Guo, Jia
2018-01-17 21:59                                       ` [PATCH V11 " Thomas Monjalon
2018-01-18  4:23                                         ` Guo, Jia
2018-01-19  1:10                                           ` Thomas Monjalon
2018-01-14 23:16                                   ` [PATCH V10 1/2] " Thomas Monjalon
2018-01-15 10:55                                     ` Guo, Jia
2018-01-15 11:32                                       ` Thomas Monjalon
2018-01-15 15:29                                         ` Guo, Jia
2018-01-10  9:12                               ` [PATCH V9 3/5] app/testpmd: use uevent to monitor hotplug Jeff Guo
2018-01-10  9:12                               ` Jeff Guo [this message]
2018-01-10  9:12                               ` [PATCH V9 5/5] pci: add driver auto bind for hot insertion Jeff Guo
2018-03-21  6:11                                 ` [PATCH V15 1/2] pci_uio: add uevent hotplug failure handler in uio Jeff Guo
2018-03-21  6:11                                   ` [PATCH V15 2/2] pci: add driver auto bind for hot insertion Jeff Guo
2018-03-30  3:35                                   ` [PATCH V15 1/2] pci_uio: add uevent hotplug failure handler in uio Tan, Jianfeng
2017-12-14  9:48                   ` [PATCH v6 0/2] add uevent monitor for hot plug Mordechay Haimovsky
2017-12-14 10:21                     ` Gaëtan Rivet
2017-12-22  0:16                       ` Guo, Jia
2017-12-24 15:12                         ` Mordechay Haimovsky
2018-01-02  9:43                           ` Guo, Jia
2017-06-29  5:01       ` [PATCH v3 2/2] net/i40e: add hot plug monitor in i40e Jeff Guo
2017-07-04  7:15         ` Wu, Jingjing
2017-07-07  7:56         ` Thomas Monjalon
2017-07-07 10:17           ` Thomas Monjalon
2017-07-07 14:08             ` Guo, Jia
2017-07-09 22:35               ` Thomas Monjalon
2017-07-12  7:36                 ` Guo, Jia
2017-06-29  2:25   ` [PATCH v2 1/2] eal: add uevent api for hot plug Wu, Jingjing
2017-06-29  4:29     ` Guo, Jia
2017-07-04 23:45   ` Thomas Monjalon
2017-07-05  3:02     ` Guo, Jia
2017-07-05  7:32       ` Thomas Monjalon
2017-07-05  9:04         ` Guo, Jia
2017-08-22 14:56           ` Guo, Jia
2017-08-28 15:50             ` Gaëtan Rivet

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1515575544-2141-5-git-send-email-jia.guo@intel.com \
    --to=jia.guo@intel.com \
    --cc=bruce.richardson@intel.com \
    --cc=dev@dpdk.org \
    --cc=ferruh.yigit@intel.com \
    --cc=gaetan.rivet@6wind.com \
    --cc=helin.zhang@intel.com \
    --cc=jblunck@infradead.org \
    --cc=jingjing.wu@intel.com \
    --cc=konstantin.ananyev@intel.com \
    --cc=motih@mellanox.com \
    --cc=shreyansh.jain@nxp.com \
    --cc=stephen@networkplumber.org \
    --cc=thomas@monjalon.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.