We currently have eal event and ethdev event for ethdev hotplug. Some ethdev's need to use an eal event to detect hotplug behaviors. Previously, we needed to register an eal event callback in the application, but this potentially causes a race condition between the eal event process to the ethdev event process. It might better to fix this issue.
This patch set introduces a way to combine these 2 event by registering the ethdev eal event callback in the ethdev and triggering the ethdev hotplug event in the callback. This will let the ethdev device easily process the hotplug in a common way. Drivers which support hotplug could use this mechanism to detect and process hotplugs. patch history: v6->v5: refine some commit log v5->v4: refine some code style and typo v4->v3: change to use device event handler install api v3->v2: remove the callback from driver to ethdev for common. v2->v1: add ixgbe hotplug detect case. refine some doc. Jeff Guo (4): ethdev: Add eal device event callback net/ixgbe: install ethdev hotplug handler in ixgbe net/i40e: install hotplug handler in i40e testpmd: remove the dev event callback register app/test-pmd/testpmd.c | 78 -------------------------------- doc/guides/rel_notes/release_18_08.rst | 12 +++++ drivers/net/i40e/i40e_ethdev.c | 8 +++- drivers/net/ixgbe/ixgbe_ethdev.c | 8 +++- lib/librte_ethdev/rte_ethdev.c | 61 +++++++++++++++++++++++++ lib/librte_ethdev/rte_ethdev_driver.h | 32 +++++++++++++ lib/librte_ethdev/rte_ethdev_version.map | 2 + 7 files changed, 121 insertions(+), 80 deletions(-) -- 2.7.4