Hi Baruch,

 

The case you mentioned is not what we expected, we suppose the driver should detect the

Hot insert event when you insert a new device into system and bind it to uio_pci_generic driver, I suggest you use the latest SPDK

Version and DPDK17.02, please also make sure the CONFIG_DEBUG=y in CONFIG file before you compile the SPDK, if SPDK get new

Event, you will find the dump information: “add nvme address:”, which means SPDK detect one event from uio_pci_generic driver.

If not, maybe something wrong when you bind the device to uio_pci_generic driver. Please also provide some details steps when you test

Hotplug.

 

Thanks,

Cunyin

 

From: SPDK [mailto:spdk-bounces@lists.01.org] On Behalf Of Baruch Even
Sent: Thursday, April 20, 2017 3:05 PM
To: spdk@lists.01.org
Subject: [SPDK] NVMe device reinsertion not detected

 

Hi,

I'm using spdk 16.12 and dpdk 16.11 and am having an issue with NVMe device reinsertion that is not getting detected and I wanted to check with you about the current state of device hot plug and hot removal as I've seen at ticket that mentions there are known issues with these.

Currently we have the devices working at startup by detecting the already bound devices at startup and that works just fine. When I then go on to test device removal the removal gets detected fine when I call the probe function periodically[1]. If I reinsert the device and bind it to the uio_pci_generic driver it is not being detected by spdk and is not added back, at least there is no probe/attach callbacks getting called and I can't see any traces from dpdk showing up.

If I restart the process the device will get detected and taken back as usual and it can serve as a temporary workaround but it is not a good overall approach.

 

Is this a known issue?

What can be done about this?

Baruch

[1] It would be nice to expose this file descriptor to allow select/poll/epoll to be used to call an event instead of periodic polls for this very rare event.