DPDK patches and discussions
 help / color / mirror / Atom feed
From: "Tan, Jianfeng" <jianfeng.tan@intel.com>
To: Jeff Guo <jia.guo@intel.com>,
	stephen@networkplumber.org, bruce.richardson@intel.com,
	ferruh.yigit@intel.com, konstantin.ananyev@intel.com,
	gaetan.rivet@6wind.com, jingjing.wu@intel.com,
	thomas@monjalon.net, motih@mellanox.com,
	harry.van.haaren@intel.com
Cc: jblunck@infradead.org, shreyansh.jain@nxp.com, dev@dpdk.org,
	helin.zhang@intel.com
Subject: Re: [dpdk-dev] [PATCH V19 2/4] eal: add device event monitor framework
Date: Thu, 5 Apr 2018 18:15:53 +0800	[thread overview]
Message-ID: <fe1df16b-30a0-05fa-5d40-a61c62304b58@intel.com> (raw)
In-Reply-To: <1522917173-15182-3-git-send-email-jia.guo@intel.com>



On 4/5/2018 4:32 PM, Jeff Guo wrote:
> This patch aims to add a general device event monitor framework at
> EAL device layer, for device hotplug awareness and actions adopted
> accordingly. It could also expand for all other types of device event
> monitor, but not in this scope at the stage.
>
> To get started, users firstly call below new added APIs to enable/disable
> the device event monitor mechanism:
>    - rte_dev_event_monitor_start
>    - rte_dev_event_monitor_stop
>
> Then users shell register or unregister callbacks through the new added
> APIs. Callbacks can be some device specific, or for all devices.
>    -rte_dev_event_callback_register
>    -rte_dev_event_callback_unregister
>
> Use hotplug case for example, when device hotplug insertion or hotplug
> removal, we will get notified from kernel, then call user's callbacks
> accordingly to handle it, such as detach or attach the device from the
> bus, and could benefit further fail-safe or live-migration.
>
> Signed-off-by: Jeff Guo <jia.guo@intel.com>

Except some trivial things, I'm ok with this patch, so

Reviewed-by: Jianfeng Tan <jianfeng.tan@intel.com>

> ---
> v19->v18:
> clear the coding style and fix typo
> ---
>   doc/guides/rel_notes/release_18_05.rst  |   9 ++
>   lib/librte_eal/bsdapp/eal/Makefile      |   1 +
>   lib/librte_eal/bsdapp/eal/eal_dev.c     |  21 +++++
>   lib/librte_eal/bsdapp/eal/meson.build   |   1 +
>   lib/librte_eal/common/eal_common_dev.c  | 161 ++++++++++++++++++++++++++++++++
>   lib/librte_eal/common/eal_private.h     |  15 +++
>   lib/librte_eal/common/include/rte_dev.h |  94 +++++++++++++++++++
>   lib/librte_eal/linuxapp/eal/Makefile    |   1 +
>   lib/librte_eal/linuxapp/eal/eal_dev.c   |  22 +++++
>   lib/librte_eal/linuxapp/eal/meson.build |   1 +
>   lib/librte_eal/rte_eal_version.map      |  10 ++
>   11 files changed, 336 insertions(+)
>   create mode 100644 lib/librte_eal/bsdapp/eal/eal_dev.c
>   create mode 100644 lib/librte_eal/linuxapp/eal/eal_dev.c
>
> diff --git a/doc/guides/rel_notes/release_18_05.rst b/doc/guides/rel_notes/release_18_05.rst
> index e5fac1c..d3c86bd 100644
> --- a/doc/guides/rel_notes/release_18_05.rst
> +++ b/doc/guides/rel_notes/release_18_05.rst
> @@ -58,6 +58,15 @@ New Features
>     * Added support for NVGRE, VXLAN and GENEVE filters in flow API.
>     * Added support for DROP action in flow API.
>   
> +* **Added device event monitor framework.**
> +
> +  Added a general device event monitor framework at EAL, for device dynamic management.
> +  Such as device hotplug awareness and actions adopted accordingly. The list of new APIs:
> +
> +  * ``rte_dev_event_monitor_start`` and ``rte_dev_event_monitor_stop`` are for
> +    the event monitor enable and disable.
> +  * ``rte_dev_event_callback_register`` and ``rte_dev_event_callback_unregister``
> +    are for the user's callbacks register and unregister.
>   
>   API Changes
>   -----------
> diff --git a/lib/librte_eal/bsdapp/eal/Makefile b/lib/librte_eal/bsdapp/eal/Makefile
> index ed1d17b..90b88eb 100644
> --- a/lib/librte_eal/bsdapp/eal/Makefile
> +++ b/lib/librte_eal/bsdapp/eal/Makefile
> @@ -33,6 +33,7 @@ SRCS-$(CONFIG_RTE_EXEC_ENV_BSDAPP) += eal_lcore.c
>   SRCS-$(CONFIG_RTE_EXEC_ENV_BSDAPP) += eal_timer.c
>   SRCS-$(CONFIG_RTE_EXEC_ENV_BSDAPP) += eal_interrupts.c
>   SRCS-$(CONFIG_RTE_EXEC_ENV_BSDAPP) += eal_alarm.c
> +SRCS-$(CONFIG_RTE_EXEC_ENV_BSDAPP) += eal_dev.c
>   
>   # from common dir
>   SRCS-$(CONFIG_RTE_EXEC_ENV_BSDAPP) += eal_common_lcore.c
> diff --git a/lib/librte_eal/bsdapp/eal/eal_dev.c b/lib/librte_eal/bsdapp/eal/eal_dev.c
> new file mode 100644
> index 0000000..1c6c51b
> --- /dev/null
> +++ b/lib/librte_eal/bsdapp/eal/eal_dev.c
> @@ -0,0 +1,21 @@
> +/* SPDX-License-Identifier: BSD-3-Clause
> + * Copyright(c) 2018 Intel Corporation
> + */
> +
> +#include <rte_log.h>
> +#include <rte_compat.h>
> +#include <rte_dev.h>
> +
> +int __rte_experimental
> +rte_dev_event_monitor_start(void)
> +{
> +	RTE_LOG(ERR, EAL, "Device event is not supported for FreeBSD\n");
> +	return -1;
> +}
> +
> +int __rte_experimental
> +rte_dev_event_monitor_stop(void)
> +{
> +	RTE_LOG(ERR, EAL, "Device event is not supported for FreeBSD\n");
> +	return -1;
> +}
> diff --git a/lib/librte_eal/bsdapp/eal/meson.build b/lib/librte_eal/bsdapp/eal/meson.build
> index e83fc91..6dfc533 100644
> --- a/lib/librte_eal/bsdapp/eal/meson.build
> +++ b/lib/librte_eal/bsdapp/eal/meson.build
> @@ -12,4 +12,5 @@ env_sources = files('eal_alarm.c',
>   		'eal_timer.c',
>   		'eal.c',
>   		'eal_memory.c',
> +		'eal_dev.c'
>   )
> diff --git a/lib/librte_eal/common/eal_common_dev.c b/lib/librte_eal/common/eal_common_dev.c
> index cd07144..e202cf2 100644
> --- a/lib/librte_eal/common/eal_common_dev.c
> +++ b/lib/librte_eal/common/eal_common_dev.c
> @@ -14,9 +14,34 @@
>   #include <rte_devargs.h>
>   #include <rte_debug.h>
>   #include <rte_log.h>
> +#include <rte_spinlock.h>
> +#include <rte_malloc.h>
>   
>   #include "eal_private.h"
>   
> +/**
> + * The device event callback description.
> + *
> + * It contains callback address to be registered by user application,
> + * the pointer to the parameters for callback, and the device name.
> + */
> +struct dev_event_callback {
> +	TAILQ_ENTRY(dev_event_callback) next; /**< Callbacks list */
> +	rte_dev_event_cb_fn cb_fn;                /**< Callback address */
> +	void *cb_arg;                           /**< Callback parameter */
> +	char *dev_name;	 /**< Callback device name, NULL is for all device */
> +	uint32_t active;                        /**< Callback is executing */
> +};
> +
> +/* spinlock for device callbacks */
> +static rte_spinlock_t dev_event_lock = RTE_SPINLOCK_INITIALIZER;

It's still not in the right position; it shall be put after 
dev_event_callback list.

> +
> +/* The device event callback list for all registered callbacks. */
> +static struct dev_event_cb_list dev_event_cbs;
> +
> +/** @internal Structure to keep track of registered callbacks */
> +TAILQ_HEAD(dev_event_cb_list, dev_event_callback);
> +
>   static int cmp_detached_dev_name(const struct rte_device *dev,
>   	const void *_name)
>   {
> @@ -207,3 +232,139 @@ rte_eal_hotplug_remove(const char *busname, const char *devname)
>   	rte_eal_devargs_remove(busname, devname);
>   	return ret;
>   }
> +
> +int __rte_experimental
> +rte_dev_event_callback_register(const char *device_name,
> +				rte_dev_event_cb_fn cb_fn,
> +				void *cb_arg)
> +{
> +	struct dev_event_callback *event_cb;
> +	int ret;
> +
> +	if (!cb_fn)
> +		return -EINVAL;
> +
> +	rte_spinlock_lock(&dev_event_lock);
> +
> +	if (TAILQ_EMPTY(&dev_event_cbs))
> +		TAILQ_INIT(&dev_event_cbs);
> +
> +	TAILQ_FOREACH(event_cb, &dev_event_cbs, next) {
> +		if (event_cb->cb_fn == cb_fn && event_cb->cb_arg == cb_arg) {
> +			if (device_name == NULL && event_cb->dev_name == NULL)
> +				break;
> +			if (device_name == NULL || event_cb->dev_name == NULL)
> +				continue;
> +			if (!strcmp(event_cb->dev_name, device_name))
> +				break;
> +		}
> +	}
> +
> +	/* create a new callback. */
> +	if (event_cb == NULL) {
> +		event_cb = malloc(sizeof(struct dev_event_callback));
> +		if (event_cb != NULL) {
> +			event_cb->cb_fn = cb_fn;
> +			event_cb->cb_arg = cb_arg;
> +			event_cb->active = 0;
> +			if (!device_name) {
> +				event_cb->dev_name = NULL;
> +			} else {
> +				event_cb->dev_name = strdup(device_name);
> +				if (event_cb->dev_name == NULL) {
> +					ret = -ENOMEM;
> +					goto error;
> +				}
> +			}
> +			TAILQ_INSERT_TAIL(&dev_event_cbs, event_cb, next);
> +		} else {
> +			RTE_LOG(ERR, EAL,
> +				"Failed to allocate memory for device "
> +				"event callback.");
> +			ret = -ENOMEM;
> +			goto error;
> +		}
> +	} else {
> +		RTE_LOG(ERR, EAL,
> +			"The callback is already exist, no need "
> +			"to register again.\n");
> +		ret = -EEXIST;
> +	}
> +
> +	rte_spinlock_unlock(&dev_event_lock);
> +	return 0;
> +error:
> +	free(event_cb);
> +	rte_spinlock_unlock(&dev_event_lock);
> +	return ret;
> +}
> +
> +int __rte_experimental
> +rte_dev_event_callback_unregister(const char *device_name,
> +				  rte_dev_event_cb_fn cb_fn,
> +				  void *cb_arg)
> +{
> +	int ret = 0;
> +	struct dev_event_callback *event_cb, *next;
> +
> +	if (!cb_fn)
> +		return -EINVAL;
> +
> +	rte_spinlock_lock(&dev_event_lock);
> +	/*walk through the callbacks and remove all that match. */
> +	for (event_cb = TAILQ_FIRST(&dev_event_cbs); event_cb != NULL;
> +	     event_cb = next) {
> +
> +		next = TAILQ_NEXT(event_cb, next);
> +
> +		if (device_name != NULL && event_cb->dev_name != NULL) {
> +			if (!strcmp(event_cb->dev_name, device_name)) {
> +				if (event_cb->cb_fn != cb_fn ||
> +				    (cb_arg != (void *)-1 &&
> +				    event_cb->cb_arg != cb_arg))
> +					continue;
> +			}
> +		} else if (device_name != NULL) {
> +			continue;
> +		}
> +
> +		/*
> +		 * if this callback is not executing right now,
> +		 * then remove it.
> +		 */
> +		if (event_cb->active == 0) {
> +			TAILQ_REMOVE(&dev_event_cbs, event_cb, next);
> +			free(event_cb);
> +			ret++;
> +		} else {
> +			continue;
> +		}
> +	}
> +	rte_spinlock_unlock(&dev_event_lock);
> +	return ret;
> +}
> +
> +void
> +dev_callback_process(char *device_name, enum rte_dev_event_type event)
> +{
> +	struct dev_event_callback *cb_lst;
> +
> +	if (device_name == NULL)
> +		return;
> +
> +	rte_spinlock_lock(&dev_event_lock);
> +
> +	TAILQ_FOREACH(cb_lst, &dev_event_cbs, next) {
> +		if (cb_lst->dev_name) {
> +			if (strcmp(cb_lst->dev_name, device_name))
> +				continue;
> +		}
> +		cb_lst->active = 1;
> +		rte_spinlock_unlock(&dev_event_lock);
> +		cb_lst->cb_fn(device_name, event,
> +				cb_lst->cb_arg);
> +		rte_spinlock_lock(&dev_event_lock);
> +		cb_lst->active = 0;
> +	}
> +	rte_spinlock_unlock(&dev_event_lock);
> +}
> diff --git a/lib/librte_eal/common/eal_private.h b/lib/librte_eal/common/eal_private.h
> index 0b28770..88e5a59 100644
> --- a/lib/librte_eal/common/eal_private.h
> +++ b/lib/librte_eal/common/eal_private.h
> @@ -9,6 +9,8 @@
>   #include <stdint.h>
>   #include <stdio.h>
>   
> +#include <rte_dev.h>
> +
>   /**
>    * Initialize the memzone subsystem (private to eal).
>    *
> @@ -205,4 +207,17 @@ struct rte_bus *rte_bus_find_by_device_name(const char *str);
>   
>   int rte_mp_channel_init(void);
>   
> +/**
> + * Internal Executes all the user application registered callbacks for
> + * the specific device. It is for DPDK internal user only. User
> + * application should not call it directly.
> + *
> + * @param device_name
> + *  The device name.
> + * @param event
> + *  the device event type.
> + *
> + */
> +void
> +dev_callback_process(char *device_name, enum rte_dev_event_type event);
>   #endif /* _EAL_PRIVATE_H_ */
> diff --git a/lib/librte_eal/common/include/rte_dev.h b/lib/librte_eal/common/include/rte_dev.h
> index b688f1e..2ed240e 100644
> --- a/lib/librte_eal/common/include/rte_dev.h
> +++ b/lib/librte_eal/common/include/rte_dev.h
> @@ -24,6 +24,25 @@ extern "C" {
>   #include <rte_compat.h>
>   #include <rte_log.h>
>   
> +/**
> + * The device event type.
> + */
> +enum rte_dev_event_type {
> +	RTE_DEV_EVENT_ADD,	/**< device being added */
> +	RTE_DEV_EVENT_REMOVE,	/**< device being removed */
> +	RTE_DEV_EVENT_MAX	/**< max value of this enum */
> +};
> +
> +struct rte_dev_event {
> +	enum rte_dev_event_type type;	/**< device event type */
> +	int subsystem;			/**< subsystem id */
> +	char *devname;			/**< device name */
> +};
> +
> +typedef void (*rte_dev_event_cb_fn)(char *device_name,
> +					enum rte_dev_event_type event,
> +					void *cb_arg);
> +
>   __attribute__((format(printf, 2, 0)))
>   static inline void
>   rte_pmd_debug_trace(const char *func_name, const char *fmt, ...)
> @@ -267,4 +286,79 @@ __attribute__((used)) = str
>   }
>   #endif
>   
> +/**
> + * @warning
> + * @b EXPERIMENTAL: this API may change without prior notice
> + *
> + * It registers the callback for the specific device.
> + * Multiple callbacks cal be registered at the same time.
> + *
> + * @param device_name
> + *  The device name, that is the param name of the struct rte_device,
> + *  null value means for all devices.
> + * @param cb_fn
> + *  callback address.
> + * @param cb_arg
> + *  address of parameter for callback.
> + *
> + * @return
> + *  - On success, zero.
> + *  - On failure, a negative value.
> + */
> +int __rte_experimental
> +rte_dev_event_callback_register(const char *device_name,
> +				rte_dev_event_cb_fn cb_fn,
> +				void *cb_arg);
> +
> +/**
> + * @warning
> + * @b EXPERIMENTAL: this API may change without prior notice
> + *
> + * It unregisters the callback according to the specified device.
> + *
> + * @param device_name
> + *  The device name, that is the param name of the struct rte_device,
> + *  null value means for all devices.

Do you mean all callbacks?

> + * @param cb_fn
> + *  callback address.
> + * @param cb_arg
> + *  address of parameter for callback, (void *)-1 means to remove all
> + *  registered which has the same callback address.
> + *
> + * @return
> + *  - On success, return the number of callback entities removed.
> + *  - On failure, a negative value.
> + */
> +int __rte_experimental
> +rte_dev_event_callback_unregister(const char *device_name,
> +				  rte_dev_event_cb_fn cb_fn,
> +				  void *cb_arg);
> +
> +/**
> + * @warning
> + * @b EXPERIMENTAL: this API may change without prior notice
> + *
> + * Start the device event monitoring.
> + *
> + * @param none
> + * @return
> + *   - On success, zero.
> + *   - On failure, a negative value.
> + */
> +int __rte_experimental
> +rte_dev_event_monitor_start(void);
> +
> +/**
> + * @warning
> + * @b EXPERIMENTAL: this API may change without prior notice
> + *
> + * Stop the device event monitoring .
> + *
> + * @param none
> + * @return
> + *   - On success, zero.
> + *   - On failure, a negative value.
> + */
> +int __rte_experimental
> +rte_dev_event_monitor_stop(void);
>   #endif /* _RTE_DEV_H_ */
> diff --git a/lib/librte_eal/linuxapp/eal/Makefile b/lib/librte_eal/linuxapp/eal/Makefile
> index b9c7727..db67001 100644
> --- a/lib/librte_eal/linuxapp/eal/Makefile
> +++ b/lib/librte_eal/linuxapp/eal/Makefile
> @@ -41,6 +41,7 @@ SRCS-$(CONFIG_RTE_EXEC_ENV_LINUXAPP) += eal_lcore.c
>   SRCS-$(CONFIG_RTE_EXEC_ENV_LINUXAPP) += eal_timer.c
>   SRCS-$(CONFIG_RTE_EXEC_ENV_LINUXAPP) += eal_interrupts.c
>   SRCS-$(CONFIG_RTE_EXEC_ENV_LINUXAPP) += eal_alarm.c
> +SRCS-$(CONFIG_RTE_EXEC_ENV_LINUXAPP) += eal_dev.c
>   
>   # from common dir
>   SRCS-$(CONFIG_RTE_EXEC_ENV_LINUXAPP) += eal_common_lcore.c
> diff --git a/lib/librte_eal/linuxapp/eal/eal_dev.c b/lib/librte_eal/linuxapp/eal/eal_dev.c
> new file mode 100644
> index 0000000..9c8d1a0
> --- /dev/null
> +++ b/lib/librte_eal/linuxapp/eal/eal_dev.c
> @@ -0,0 +1,22 @@
> +/* SPDX-License-Identifier: BSD-3-Clause
> + * Copyright(c) 2018 Intel Corporation
> + */
> +
> +#include <rte_log.h>
> +#include <rte_compat.h>
> +#include <rte_dev.h>
> +
> +
> +int __rte_experimental
> +rte_dev_event_monitor_start(void)
> +{
> +	/* TODO: start uevent monitor for linux */
> +	return 0;
> +}
> +
> +int __rte_experimental
> +rte_dev_event_monitor_stop(void)
> +{
> +	/* TODO: stop uevent monitor for linux */
> +	return 0;
> +}
> diff --git a/lib/librte_eal/linuxapp/eal/meson.build b/lib/librte_eal/linuxapp/eal/meson.build
> index 03974ff..b222571 100644
> --- a/lib/librte_eal/linuxapp/eal/meson.build
> +++ b/lib/librte_eal/linuxapp/eal/meson.build
> @@ -18,6 +18,7 @@ env_sources = files('eal_alarm.c',
>   		'eal_vfio_mp_sync.c',
>   		'eal.c',
>   		'eal_memory.c',
> +		'eal_dev.c',
>   )
>   
>   if has_libnuma == 1
> diff --git a/lib/librte_eal/rte_eal_version.map b/lib/librte_eal/rte_eal_version.map
> index dd38783..3022df1 100644
> --- a/lib/librte_eal/rte_eal_version.map
> +++ b/lib/librte_eal/rte_eal_version.map
> @@ -260,3 +260,13 @@ EXPERIMENTAL {
>   	rte_socket_id_by_idx;
>   
>   } DPDK_18.02;
> +
> +EXPERIMENTAL {
> +        global:
> +
> +	rte_dev_event_monitor_start;
> +	rte_dev_event_monitor_stop;
> +        rte_dev_event_callback_register;
> +        rte_dev_event_callback_unregister;

Use tab instead of spaces.

> +
> +} DPDK_18.05;

  reply	other threads:[~2018-04-05 10:15 UTC|newest]

Thread overview: 494+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-05-28 15:44 [dpdk-dev] [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 ` [dpdk-dev] [PATCH v2 1/2] eal: add uevent api for hot plug Jeff Guo
2017-06-28 11:07   ` [dpdk-dev] [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     ` [dpdk-dev] [PATCH v3 0/2] add uevent api for hot plug Jeff Guo
2017-06-29  4:37       ` [dpdk-dev] [PATCH v3 1/2] eal: " Jeff Guo
2017-06-30  3:38         ` Wu, Jingjing
2017-06-29  4:37       ` [dpdk-dev] [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       ` [dpdk-dev] [PATCH V22 0/4] add device event monitor framework Jeff Guo
2018-04-13  8:30         ` [dpdk-dev] [PATCH V22 1/4] eal: add device event handle in interrupt thread Jeff Guo
2018-04-13  8:30         ` [dpdk-dev] [PATCH V22 2/4] eal: add device event monitor framework Jeff Guo
2018-04-13  8:30         ` [dpdk-dev] [PATCH V22 3/4] eal/linux: uevent parse and process Jeff Guo
2018-04-13  8:30         ` [dpdk-dev] [PATCH V22 4/4] app/testpmd: enable device hotplug monitoring Jeff Guo
2018-04-13 10:03         ` [dpdk-dev] [PATCH V22 0/4] add device event monitor framework Thomas Monjalon
2018-04-18 13:38       ` [dpdk-dev] [PATCH V20 0/4] add hot plug recovery mechanism Jeff Guo
2018-04-18 13:38         ` [dpdk-dev] [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         ` [dpdk-dev] [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         ` [dpdk-dev] [PATCH V20 3/4] igb_uio: fix uio release issue when hot unplug Jeff Guo
2018-04-18 13:38         ` [dpdk-dev] [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       ` [dpdk-dev] [PATCH V21 0/4] hot plug recovery mechanism Jeff Guo
2018-05-03  8:57         ` [dpdk-dev] [PATCH V21 1/4] bus/pci: handle device hot unplug Jeff Guo
2018-05-03  8:57         ` [dpdk-dev] [PATCH V21 2/4] eal: add failure handle mechanism for hot plug Jeff Guo
2018-05-03  8:57         ` [dpdk-dev] [PATCH V21 3/4] igb_uio: fix uio release issue when hot unplug Jeff Guo
2018-05-03  8:57         ` [dpdk-dev] [PATCH V21 4/4] app/testpmd: show example to handle " Jeff Guo
2018-05-16 14:30           ` Iremonger, Bernard
2018-05-03 10:48       ` [dpdk-dev] [PATCH V21 0/4] hot plug recovery mechanism Jeff Guo
2018-05-03 10:48         ` [dpdk-dev] [PATCH V21 1/4] bus/pci: handle device hot unplug Jeff Guo
2018-05-03 10:48         ` [dpdk-dev] [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         ` [dpdk-dev] [PATCH V21 3/4] igb_uio: fix uio release issue when hot unplug Jeff Guo
2018-05-03 10:48         ` [dpdk-dev] [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       ` [dpdk-dev] [PATCH v2 0/4] hot plug failure handle mechanism Jeff Guo
2018-06-22 11:51         ` [dpdk-dev] [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         ` [dpdk-dev] [PATCH v2 2/4] eal: add failure handle mechanism for hot plug Jeff Guo
2018-06-22 11:51         ` [dpdk-dev] [PATCH v2 3/4] igb_uio: fix uio release issue when hot unplug Jeff Guo
2018-06-22 11:51         ` [dpdk-dev] [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       ` [dpdk-dev] [PATCH V3 1/4] bus/pci: handle device " Jeff Guo
2018-06-26 15:36         ` [dpdk-dev] [PATCH V3 2/4] eal: add failure handle mechanism for hot plug Jeff Guo
2018-06-26 15:36         ` [dpdk-dev] [PATCH V3 3/4] igb_uio: fix uio release issue when hot unplug Jeff Guo
2018-06-26 15:36         ` [dpdk-dev] [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       ` [dpdk-dev] [PATCH V4 0/9] hot plug failure handle mechanism Jeff Guo
2018-06-29 10:30         ` [dpdk-dev] [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         ` [dpdk-dev] [PATCH V4 2/9] bus/pci: implement hotplug handler operation Jeff Guo
2018-06-29 10:30         ` [dpdk-dev] [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         ` [dpdk-dev] [PATCH V4 4/9] bus/pci: implement sigbus handler operation Jeff Guo
2018-06-29 10:30         ` [dpdk-dev] [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         ` [dpdk-dev] [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         ` [dpdk-dev] [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         ` [dpdk-dev] [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         ` [dpdk-dev] [PATCH V4 9/9] app/testpmd: enable device hotplug monitoring Jeff Guo
2018-07-05  7:38       ` [dpdk-dev] [PATCH V5 0/7] hot plug failure handle mechanism Jeff Guo
2018-07-05  7:38         ` [dpdk-dev] [PATCH V5 1/7] bus: add hotplug failure handler Jeff Guo
2018-07-06 15:17           ` He, Shaopeng
2018-07-05  7:38         ` [dpdk-dev] [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         ` [dpdk-dev] [PATCH V5 3/7] bus: add sigbus handler Jeff Guo
2018-07-06 15:17           ` He, Shaopeng
2018-07-05  7:38         ` [dpdk-dev] [PATCH V5 4/7] bus/pci: implement sigbus handler operation Jeff Guo
2018-07-06 15:18           ` He, Shaopeng
2018-07-05  7:38         ` [dpdk-dev] [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         ` [dpdk-dev] [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       ` [dpdk-dev] [PATCH V5 0/7] hot plug failure handle mechanism Jeff Guo
2018-07-05  8:21         ` [dpdk-dev] [PATCH V5 7/7] igb_uio: fix uio release issue when hot unplug Jeff Guo
2018-07-09  6:51       ` [dpdk-dev] [PATCH v6 0/7] hotplug failure handle mechanism Jeff Guo
2018-07-09  6:51         ` [dpdk-dev] [PATCH v6 1/7] bus: add hotplug failure handler Jeff Guo
2018-07-09  6:51         ` [dpdk-dev] [PATCH v6 2/7] bus/pci: implement hotplug failure handler ops Jeff Guo
2018-07-09  6:51         ` [dpdk-dev] [PATCH v6 3/7] bus: add sigbus handler Jeff Guo
2018-07-09  6:51         ` [dpdk-dev] [PATCH v6 4/7] bus/pci: implement sigbus handler operation Jeff Guo
2018-07-09  6:51         ` [dpdk-dev] [PATCH v6 5/7] bus: add helper to handle sigbus Jeff Guo
2018-07-09  6:51         ` [dpdk-dev] [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         ` [dpdk-dev] [PATCH v6 7/7] igb_uio: fix uio release issue when hot unplug Jeff Guo
2018-07-09 11:56       ` [dpdk-dev] [PATCH v7 0/7] hotplug failure handle mechanism Jeff Guo
2018-07-09 11:56         ` [dpdk-dev] [PATCH v7 1/7] bus: add hotplug failure handler Jeff Guo
2018-07-09 11:56         ` [dpdk-dev] [PATCH v7 2/7] bus/pci: implement hotplug failure handler ops Jeff Guo
2018-07-09 11:56         ` [dpdk-dev] [PATCH v7 3/7] bus: add sigbus handler Jeff Guo
2018-07-09 11:56         ` [dpdk-dev] [PATCH v7 4/7] bus/pci: implement sigbus handler operation Jeff Guo
2018-07-09 11:56         ` [dpdk-dev] [PATCH v7 5/7] bus: add helper to handle sigbus Jeff Guo
2018-07-09 11:56         ` [dpdk-dev] [PATCH v7 6/7] eal: add failure handle mechanism for hotplug Jeff Guo
2018-07-09 11:56         ` [dpdk-dev] [PATCH v7 7/7] igb_uio: fix uio release issue when hot unplug Jeff Guo
2018-07-09 12:00       ` [dpdk-dev] [PATCH v7 0/7] hotplug failure handle mechanism Jeff Guo
2018-07-09 12:01         ` [dpdk-dev] [PATCH v7 1/7] bus: add hotplug failure handler Jeff Guo
2018-07-09 12:01         ` [dpdk-dev] [PATCH v7 2/7] bus/pci: implement hotplug failure handler ops Jeff Guo
2018-07-09 12:01         ` [dpdk-dev] [PATCH v7 3/7] bus: add sigbus handler Jeff Guo
2018-07-09 12:01         ` [dpdk-dev] [PATCH v7 4/7] bus/pci: implement sigbus handler operation Jeff Guo
2018-07-09 12:01         ` [dpdk-dev] [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         ` [dpdk-dev] [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         ` [dpdk-dev] [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       ` [dpdk-dev] [PATCH v8 0/7] hotplug failure handle mechanism Jeff Guo
2018-07-10 11:03         ` [dpdk-dev] [PATCH v8 1/7] bus: add hotplug failure handler Jeff Guo
2018-07-10 11:03         ` [dpdk-dev] [PATCH v8 2/7] bus/pci: implement hotplug failure handler ops Jeff Guo
2018-07-10 11:03         ` [dpdk-dev] [PATCH v8 3/7] bus: add sigbus handler Jeff Guo
2018-07-10 11:03         ` [dpdk-dev] [PATCH v8 4/7] bus/pci: implement sigbus handler operation Jeff Guo
2018-07-10 11:03         ` [dpdk-dev] [PATCH v8 5/7] bus: add helper to handle sigbus Jeff Guo
2018-07-10 11:03         ` [dpdk-dev] [PATCH v8 6/7] eal: add failure handle mechanism for hotplug Jeff Guo
2018-07-10 11:03         ` [dpdk-dev] [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       ` [dpdk-dev] [PATCH v9 0/7] hotplug failure handle mechanism Jeff Guo
2018-07-11 10:41         ` [dpdk-dev] [PATCH v9 1/7] bus: add hotplug failure handler Jeff Guo
2018-07-11 10:41         ` [dpdk-dev] [PATCH v9 2/7] bus/pci: implement hotplug failure handler ops Jeff Guo
2018-07-11 10:41         ` [dpdk-dev] [PATCH v9 3/7] bus: add sigbus handler Jeff Guo
2018-07-11 10:41         ` [dpdk-dev] [PATCH v9 4/7] bus/pci: implement sigbus handler operation Jeff Guo
2018-07-11 10:41         ` [dpdk-dev] [PATCH v9 5/7] bus: add helper to handle sigbus Jeff Guo
2018-07-11 10:41         ` [dpdk-dev] [PATCH v9 6/7] eal: add failure handle mechanism for hotplug Jeff Guo
2018-07-11 10:41         ` [dpdk-dev] [PATCH v9 7/7] igb_uio: fix unexpected remove issue " Jeff Guo
2018-07-12  1:57           ` He, Shaopeng
2018-07-11 15:46         ` [dpdk-dev] [PATCH v9 0/7] hotplug failure handle mechanism Stephen Hemminger
2018-07-12  3:14           ` Jeff Guo
2018-08-17 10:48       ` [dpdk-dev] [PATCH v10 0/8] " Jeff Guo
2018-08-17 10:48         ` [dpdk-dev] [PATCH v10 1/8] bus: add memory failure handler Jeff Guo
2018-08-17 10:48         ` [dpdk-dev] [PATCH v10 2/8] bus/pci: implement memory failure handler ops Jeff Guo
2018-08-17 10:48         ` [dpdk-dev] [PATCH v10 3/8] bus: add sigbus handler Jeff Guo
2018-08-17 10:48         ` [dpdk-dev] [PATCH v10 4/8] bus/pci: implement sigbus handler ops Jeff Guo
2018-08-17 10:48         ` [dpdk-dev] [PATCH v10 5/8] bus: add helper to handle sigbus Jeff Guo
2018-08-17 10:48         ` Jeff Guo
2018-08-17 10:48         ` [dpdk-dev] [PATCH v10 6/8] eal: add failure handle mechanism for hotplug Jeff Guo
2018-08-17 10:48         ` [dpdk-dev] [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           ` [dpdk-dev] [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         ` [dpdk-dev] [PATCH v10 8/8] testpmd: use hotplug failure handle mechanism Jeff Guo
2018-09-30 10:24       ` [dpdk-dev] [PATCH v11 0/7] hot-unplug " Jeff Guo
2018-09-30 10:24         ` [dpdk-dev] [PATCH v11 1/7] bus: add hot-unplug handler Jeff Guo
2018-09-30 10:24         ` [dpdk-dev] [PATCH v11 2/7] bus/pci: implement hot-unplug handler ops Jeff Guo
2018-09-30 10:24         ` [dpdk-dev] [PATCH v11 3/7] bus: add sigbus handler Jeff Guo
2018-09-30 10:24         ` [dpdk-dev] [PATCH v11 4/7] bus/pci: implement sigbus handler ops Jeff Guo
2018-09-30 10:24         ` [dpdk-dev] [PATCH v11 5/7] bus: add helper to handle sigbus Jeff Guo
2018-09-30 10:24         ` [dpdk-dev] [PATCH v11 6/7] eal: add failure handle mechanism for hot-unplug Jeff Guo
2018-09-30 10:24         ` [dpdk-dev] [PATCH v11 7/7] testpmd: use hot-unplug failure handle mechanism Jeff Guo
2018-09-30 11:29       ` [dpdk-dev] [PATCH v11 0/7] " Jeff Guo
2018-09-30 11:29         ` [dpdk-dev] [PATCH v11 1/7] bus: add hot-unplug handler Jeff Guo
2018-09-30 11:29         ` [dpdk-dev] [PATCH v11 2/7] bus/pci: implement hot-unplug handler ops Jeff Guo
2018-09-30 11:29         ` [dpdk-dev] [PATCH v11 3/7] bus: add sigbus handler Jeff Guo
2018-09-30 11:30         ` [dpdk-dev] [PATCH v11 4/7] bus/pci: implement sigbus handler ops Jeff Guo
2018-09-30 11:30         ` [dpdk-dev] [PATCH v11 5/7] bus: add helper to handle sigbus Jeff Guo
2018-09-30 11:30         ` [dpdk-dev] [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         ` [dpdk-dev] [PATCH v11 7/7] testpmd: use hot-unplug failure handle mechanism Jeff Guo
2018-10-01  9:00         ` [dpdk-dev] [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       ` [dpdk-dev] [PATCH v12 " Jeff Guo
2018-10-02 12:32         ` [dpdk-dev] [PATCH v12 1/7] bus: add hot-unplug handler Jeff Guo
2018-10-02 12:32         ` [dpdk-dev] [PATCH v12 2/7] bus/pci: implement hot-unplug handler ops Jeff Guo
2018-10-02 12:32         ` [dpdk-dev] [PATCH v12 3/7] bus: add sigbus handler Jeff Guo
2018-10-02 12:32         ` [dpdk-dev] [PATCH v12 4/7] bus/pci: implement sigbus handler ops Jeff Guo
2018-10-02 12:32         ` [dpdk-dev] [PATCH v12 5/7] bus: add helper to handle sigbus Jeff Guo
2018-10-02 12:32         ` [dpdk-dev] [PATCH v11 6/7] eal: add failure handle mechanism for hot-unplug Jeff Guo
2018-10-02 12:32         ` [dpdk-dev] [PATCH v11 7/7] testpmd: use hot-unplug failure handle mechanism Jeff Guo
2018-10-02 12:35       ` [dpdk-dev] [PATCH v12 0/7] " Jeff Guo
2018-10-02 12:35         ` [dpdk-dev] [PATCH v12 1/7] bus: add hot-unplug handler Jeff Guo
2018-10-02 12:35         ` [dpdk-dev] [PATCH v12 2/7] bus/pci: implement hot-unplug handler ops Jeff Guo
2018-10-02 12:35         ` [dpdk-dev] [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         ` [dpdk-dev] [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         ` [dpdk-dev] [PATCH v12 5/7] bus: add helper to handle sigbus Jeff Guo
2018-10-02 12:35         ` [dpdk-dev] [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         ` [dpdk-dev] [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       ` [dpdk-dev] [PATCH v13 0/7] " Jeff Guo
2018-10-04  6:30         ` [dpdk-dev] [PATCH v13 1/7] bus: add hot-unplug handler Jeff Guo
2018-10-04  6:30         ` [dpdk-dev] [PATCH v13 2/7] bus/pci: implement hot-unplug handler ops Jeff Guo
2018-10-04  6:30         ` [dpdk-dev] [PATCH v13 3/7] bus: add sigbus handler Jeff Guo
2018-10-04  6:30         ` [dpdk-dev] [PATCH v13 4/7] bus/pci: implement sigbus handler ops Jeff Guo
2018-10-04  6:30         ` [dpdk-dev] [PATCH v13 5/7] bus: add helper to handle sigbus Jeff Guo
2018-10-04  6:30         ` [dpdk-dev] [PATCH v13 6/7] eal: add failure handle mechanism for hot-unplug Jeff Guo
2018-10-04  6:30         ` [dpdk-dev] [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         ` [dpdk-dev] [PATCH v13 0/7] hot-unplug failure handle mechanism Ananyev, Konstantin
2018-10-04 14:46       ` [dpdk-dev] [PATCH v14 " Jeff Guo
2018-10-04 14:46         ` [dpdk-dev] [PATCH v14 1/7] bus: add hot-unplug handler Jeff Guo
2018-10-04 14:46         ` [dpdk-dev] [PATCH v14 2/7] bus/pci: implement hot-unplug handler ops Jeff Guo
2018-10-04 14:46         ` [dpdk-dev] [PATCH v14 3/7] bus: add sigbus handler Jeff Guo
2018-10-04 14:46         ` [dpdk-dev] [PATCH v14 4/7] bus/pci: implement sigbus handler ops Jeff Guo
2018-10-04 14:46         ` [dpdk-dev] [PATCH v14 5/7] bus: add helper to handle sigbus Jeff Guo
2018-10-04 14:46         ` [dpdk-dev] [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         ` [dpdk-dev] [PATCH v14 7/7] app/testpmd: use hotplug failure handler Jeff Guo
2018-10-05 12:26           ` Iremonger, Bernard
2018-10-15 11:27       ` [dpdk-dev] [PATCH v15 0/7] hot-unplug failure handle mechanism Jeff Guo
2018-10-15 11:27         ` [dpdk-dev] [PATCH v15 1/7] bus: add hot-unplug handler Jeff Guo
2018-10-15 11:27         ` [dpdk-dev] [PATCH v15 2/7] bus/pci: implement hot-unplug handler ops Jeff Guo
2018-10-15 11:27         ` [dpdk-dev] [PATCH v15 3/7] bus: add sigbus handler Jeff Guo
2018-10-15 11:27         ` [dpdk-dev] [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         ` [dpdk-dev] [PATCH v15 5/7] bus: add helper to handle sigbus Jeff Guo
2018-10-15 11:27         ` [dpdk-dev] [PATCH v15 6/7] eal: add failure handle mechanism for hot-unplug Jeff Guo
2018-10-15 11:27         ` [dpdk-dev] [PATCH v15 7/7] app/testpmd: use hotplug failure handler Jeff Guo
2018-10-15 20:19         ` [dpdk-dev] [PATCH v15 0/7] hot-unplug failure handle mechanism Thomas Monjalon
2017-06-29  5:01     ` [dpdk-dev] [PATCH v3 0/2] add uevent api for hot plug Jeff Guo
2017-06-29  5:01       ` [dpdk-dev] [PATCH v3 1/2] eal: " Jeff Guo
2017-07-04  7:15         ` Wu, Jingjing
2017-09-03 15:49         ` [dpdk-dev] [PATCH v4 0/2] add uevent monitor " Jeff Guo
2017-09-03 15:49           ` [dpdk-dev] [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           ` [dpdk-dev] [PATCH v4 2/2] app/testpmd: use uevent to monitor hot removal Jeff Guo
2017-09-20  4:12             ` [dpdk-dev] [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               ` [dpdk-dev] [PATCH v5 1/2] eal: " Jeff Guo
2017-09-20  4:12               ` [dpdk-dev] [PATCH v5 2/2] app/testpmd: use uevent to monitor hot removal Jeff Guo
2017-11-01 20:16                 ` [dpdk-dev] [PATCH v6 0/2] add uevent monitor for hot plug Jeff Guo
2017-11-01 20:16                   ` [dpdk-dev] [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                   ` [dpdk-dev] [PATCH v6 2/2] app/testpmd: use uevent to monitor hotplug Jeff Guo
2018-01-03  1:42                     ` [dpdk-dev] [PATCH v7 0/2] add uevent monitor for hot plug Jeff Guo
2018-01-03  1:42                       ` [dpdk-dev] [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                       ` [dpdk-dev] [PATCH v7 2/2] app/testpmd: use uevent to monitor hotplug Jeff Guo
2018-01-10  3:30                         ` [dpdk-dev] [PATCH V8 0/3] add uevent mechanism in eal framework Jeff Guo
2018-01-10  3:30                           ` [dpdk-dev] [PATCH V8 1/3] eal: add uevent monitor for hot plug Jeff Guo
2018-01-10  3:30                           ` [dpdk-dev] [PATCH V8 2/3] igb_uio: fix device removal issuse for hotplug Jeff Guo
2018-01-10  3:30                           ` [dpdk-dev] [PATCH V8 3/3] app/testpmd: use uevent to monitor hotplug Jeff Guo
2018-01-10  9:12                             ` [dpdk-dev] [PATCH V9 0/5] add uevent mechanism in eal framework Jeff Guo
2018-01-10  9:12                               ` [dpdk-dev] [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                               ` [dpdk-dev] [PATCH V9 2/5] eal: add uevent pass and process function Jeff Guo
2018-01-11 14:05                                 ` [dpdk-dev] [PATCH V10 1/2] eal: add uevent monitor api and callback func Jeff Guo
2018-01-11 14:05                                   ` [dpdk-dev] [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                                     ` [dpdk-dev] [PATCH V11 1/3] eal: add uevent monitor api and callback func Jeff Guo
2018-01-15 10:48                                       ` [dpdk-dev] [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                                       ` [dpdk-dev] [PATCH V11 3/3] app/testpmd: use uevent to monitor hotplug Jeff Guo
2018-01-18  4:12                                         ` [dpdk-dev] [PATCH V12 1/3] eal: add uevent monitor api and callback func Jeff Guo
2018-01-18  4:12                                           ` [dpdk-dev] [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                                           ` [dpdk-dev] [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                                             ` [dpdk-dev] [PATCH V13 1/3] eal: add uevent monitor api and callback func Jeff Guo
2018-01-25 14:46                                               ` [dpdk-dev] [PATCH V13 2/3] eal: add uevent pass and process function Jeff Guo
2018-01-25 14:46                                               ` [dpdk-dev] [PATCH V13 3/3] app/testpmd: use uevent to monitor hotplug Jeff Guo
2018-01-26  3:49                                             ` [dpdk-dev] [PATCH V13 1/3] eal: add uevent monitor api and callback func Jeff Guo
2018-01-26  3:49                                               ` [dpdk-dev] [PATCH V13 2/3] eal: add uevent pass and process function Jeff Guo
2018-01-26  3:49                                               ` [dpdk-dev] [PATCH V13 3/3] app/testpmd: use uevent to monitor hotplug Jeff Guo
2018-01-30 12:20                                                 ` [dpdk-dev] [PATCH V14 1/3] eal: add uevent monitor api and callback func Jeff Guo
2018-01-30 12:20                                                   ` [dpdk-dev] [PATCH V14 2/3] eal: add uevent pass and process function Jeff Guo
2018-01-30 12:21                                                   ` [dpdk-dev] [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                                                     ` [dpdk-dev] [PATCH V15 1/5] eal: add uevent monitor api and callback func Jeff Guo
2018-03-21  5:27                                                       ` [dpdk-dev] [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                                                       ` [dpdk-dev] [PATCH V15 3/5] app/testpmd: use uevent to monitor hotplug Jeff Guo
2018-03-26 10:55                                                         ` [dpdk-dev] [PATCH V16 0/3] add device event monitor framework Jeff Guo
2018-03-26 10:55                                                           ` [dpdk-dev] [PATCH V16 1/3] eal: add device event handle in interrupt thread Jeff Guo
2018-03-26 10:55                                                           ` [dpdk-dev] [PATCH V16 2/3] eal: add device event monitor framework Jeff Guo
2018-03-26 10:55                                                           ` [dpdk-dev] [PATCH V16 3/3] app/testpmd: enable device hotplug monitoring Jeff Guo
2018-03-26 11:20                                                         ` [dpdk-dev] [PATCH V16 0/4] add device event monitor framework Jeff Guo
2018-03-26 11:20                                                           ` [dpdk-dev] [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                                                           ` [dpdk-dev] [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                                                           ` [dpdk-dev] [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                                                           ` [dpdk-dev] [PATCH V16 4/4] app/testpmd: enable device hotplug monitoring Jeff Guo
2018-03-28 16:41                                                             ` Tan, Jianfeng
2018-03-29 16:00                                                             ` [dpdk-dev] [PATCH V17 0/4] add device event monitor framework Jeff Guo
2018-03-29 16:00                                                               ` [dpdk-dev] [PATCH V17 1/4] eal: add device event handle in interrupt thread Jeff Guo
2018-03-29 16:00                                                               ` [dpdk-dev] [PATCH V17 2/4] eal: add device event monitor framework Jeff Guo
2018-03-29 16:00                                                               ` [dpdk-dev] [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                                                               ` [dpdk-dev] [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                                                                 ` [dpdk-dev] [PATCH V18 0/4] add device event monitor framework Jeff Guo
2018-04-03 10:33                                                                   ` [dpdk-dev] [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                                                                   ` [dpdk-dev] [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                                                                   ` [dpdk-dev] [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                                                                   ` [dpdk-dev] [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                                                                     ` [dpdk-dev] [PATCH V19 0/4] add device event monitor framework Jeff Guo
2018-04-05  8:32                                                                       ` [dpdk-dev] [PATCH V19 1/4] eal: add device event handle in interrupt thread Jeff Guo
2018-04-05  8:32                                                                       ` [dpdk-dev] [PATCH V19 2/4] eal: add device event monitor framework Jeff Guo
2018-04-05 10:15                                                                         ` Tan, Jianfeng [this message]
2018-04-05  8:32                                                                       ` [dpdk-dev] [PATCH V19 3/4] eal/linux: uevent parse and process Jeff Guo
2018-04-05  8:32                                                                       ` [dpdk-dev] [PATCH V19 4/4] app/testpmd: enable device hotplug monitoring Jeff Guo
2018-04-05  9:02                                                                     ` [dpdk-dev] [PATCH V19 0/4] add device event monitor framework Jeff Guo
2018-04-05  9:02                                                                       ` [dpdk-dev] [PATCH V19 1/4] eal: add device event handle in interrupt thread Jeff Guo
2018-04-05  9:02                                                                       ` [dpdk-dev] [PATCH V19 2/4] eal: add device event monitor framework Jeff Guo
2018-04-05  9:02                                                                       ` [dpdk-dev] [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                                                                       ` [dpdk-dev] [PATCH V19 4/4] app/testpmd: enable device hotplug monitoring Jeff Guo
2018-04-05 16:10                                                                         ` [dpdk-dev] [PATCH V20 0/4] add device event monitor framework Jeff Guo
2018-04-05 16:10                                                                           ` [dpdk-dev] [PATCH V20 1/4] eal: add device event handle in interrupt thread Jeff Guo
2018-04-05 16:10                                                                           ` [dpdk-dev] [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                                                                           ` [dpdk-dev] [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                                                                           ` [dpdk-dev] [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                                                                             ` [dpdk-dev] [PATCH V21 0/4] add device event monitor framework Jeff Guo
2018-04-06  3:54                                                                               ` [dpdk-dev] [PATCH V21 1/4] eal: add device event handle in interrupt thread Jeff Guo
2018-04-06  3:55                                                                               ` [dpdk-dev] [PATCH V21 2/4] eal: add device event monitor framework Jeff Guo
2018-04-12  8:36                                                                                 ` Thomas Monjalon
2018-04-06  3:55                                                                               ` [dpdk-dev] [PATCH V21 3/4] eal/linux: uevent parse and process Jeff Guo
2018-04-06  3:55                                                                               ` [dpdk-dev] [PATCH V21 4/4] app/testpmd: enable device hotplug monitoring Jeff Guo
2018-01-31  0:44                                                   ` [dpdk-dev] [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                                               ` [dpdk-dev] [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                                           ` [dpdk-dev] [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                                       ` [dpdk-dev] [PATCH V11 " Thomas Monjalon
2018-01-18  4:23                                         ` Guo, Jia
2018-01-19  1:10                                           ` Thomas Monjalon
2018-01-14 23:16                                   ` [dpdk-dev] [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                               ` [dpdk-dev] [PATCH V9 3/5] app/testpmd: use uevent to monitor hotplug Jeff Guo
2018-01-10  9:12                               ` [dpdk-dev] [PATCH V9 4/5] pci_uio: add uevent hotplug failure handler in pci Jeff Guo
2018-01-10  9:12                               ` [dpdk-dev] [PATCH V9 5/5] pci: add driver auto bind for hot insertion Jeff Guo
2018-03-21  6:11                                 ` [dpdk-dev] [PATCH V15 1/2] pci_uio: add uevent hotplug failure handler in uio Jeff Guo
2018-03-21  6:11                                   ` [dpdk-dev] [PATCH V15 2/2] pci: add driver auto bind for hot insertion Jeff Guo
2018-03-30  3:35                                   ` [dpdk-dev] [PATCH V15 1/2] pci_uio: add uevent hotplug failure handler in uio Tan, Jianfeng
2017-12-14  9:48                   ` [dpdk-dev] [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       ` [dpdk-dev] [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   ` [dpdk-dev] [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=fe1df16b-30a0-05fa-5d40-a61c62304b58@intel.com \
    --to=jianfeng.tan@intel.com \
    --cc=bruce.richardson@intel.com \
    --cc=dev@dpdk.org \
    --cc=ferruh.yigit@intel.com \
    --cc=gaetan.rivet@6wind.com \
    --cc=harry.van.haaren@intel.com \
    --cc=helin.zhang@intel.com \
    --cc=jblunck@infradead.org \
    --cc=jia.guo@intel.com \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).