Storage Performance Development Kit (SPDK)
 help / color / mirror / Atom feed
From: Jitendra Bhivare <jitendra.bhivare at broadcom.com>
To: spdk@lists.01.org
Subject: Re: [SPDK] PCIe hotplug support using VFIO for NVMf
Date: Wed, 09 May 2018 17:02:57 +0530	[thread overview]
Message-ID: <684183f82edb1d47f09079b6fb57a3d7@mail.gmail.com> (raw)
In-Reply-To: 9EDDCD9E-CE95-4E0D-8DB5-9DFD6B64C22C@intel.com

[-- Attachment #1: Type: text/plain, Size: 3276 bytes --]

Thanks a lot Jim.

Missed that. In our platform CSTS read value is 0 after surprise hotunplug.
Adding !csts.bits.rdy check makes hotplug working fine.
I think we would still need KOBJ event for controlled hotunplug done by
echo'ing in remove sysfs entry.
For that we will have to send something like KOBJ_CHANGE/KOBJ_UNBIND to SPDK
and parse it.

Regards,

JB

> -----Original Message-----
> From: SPDK [mailto:spdk-bounces(a)lists.01.org] On Behalf Of Harris, James R
> Sent: Tuesday, May 8, 2018 7:06 PM
> To: Storage Performance Development Kit <spdk(a)lists.01.org>
> Subject: Re: [SPDK] PCIe hotplug support using VFIO for NVMf
>
> Hi Jitendra,
>
> There’s a loop at the end of _nvme_pcie_hotplug_monitor that is supposed
> to work around this circular dependency.  It periodically reads a register
> on
> the device to check if it’s been removed.  This loop was adding prior to
> the
> v18.01 release.  Can you instrument that loop to see if it is triggering?
>
> Thanks,
>
> -Jim
>
>
> On 5/8/18, 3:42 AM, "SPDK on behalf of Jitendra Bhivare" <spdk-
> bounces(a)lists.01.org on behalf of jitendra.bhivare(a)broadcom.com> wrote:
>
>     > For this to work I think we need an eventfd mechanism to notify SPDK
> of
>     device removal from VFIO.
>     Or a better approach, to generate KOBJ_CHANGE for vfio-pci driver
> kobject.
>
>     From: Jitendra Bhivare [mailto:jitendra.bhivare(a)broadcom.com]
>     Sent: Tuesday, May 8, 2018 12:11 PM
>     To: 'spdk(a)lists.01.org' <spdk(a)lists.01.org>
>     Subject: PCIe hotplug support using VFIO for NVMf
>
>     Hi All,
>
>     I am trying to use PCIe hotplug feature in SPDK v18.01 (with DPDK
> v17.11)
>     for NVMf by setting in conf file HotplugEnable to Yes. It is not
> working.
>     All the IOs get stuck on initiator side and nvmf_tgt does not even
> respond
>     to nvme discovery query after that.
>
>     nvmf_tgt opens a netlink socket to listen on KOBJ events. Using VFIO
>     claimed NVMe PCIe devices, when a PCIe device is removed
> vfio_pci_remove
>     waits for all references to the device added in IOMMU group to be
> dropped
>     in vfio_del_group_dev.
>
>     This reference will only be dropped after SPDK unloads the NVME PCIe
>     driver. For that to happen it is waiting for the KOBJ events. KOBJ
> events
>     won't happen till vfio_pci_remove releases the device.
>
>     So we kinda reached a deadlock with circular dependency on release of
> the
>     device.
>
>     Can someone please explain how this feature is working?
>
>     For this to work I think we need an eventfd mechanism to notify SPDK
> of
>     device removal from VFIO.
>     I am trying to integrate such a thing bit of a redundant approach made
>     specifically for VFIO devices.
>
>     Please do let me know if we have better option or working on better
>     approach to make this work.
>
>     Thanks,
>
>     JB
>     _______________________________________________
>     SPDK mailing list
>     SPDK(a)lists.01.org
>     https://lists.01.org/mailman/listinfo/spdk
>
>
> _______________________________________________
> SPDK mailing list
> SPDK(a)lists.01.org
> https://lists.01.org/mailman/listinfo/spdk

             reply	other threads:[~2018-05-09 11:32 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-05-09 11:32 Jitendra Bhivare [this message]
  -- strict thread matches above, loose matches on Subject: below --
2018-05-11  5:05 [SPDK] PCIe hotplug support using VFIO for NVMf Jitendra Bhivare
2018-05-08 13:36 Harris, James R
2018-05-08 10:42 Jitendra Bhivare
2018-05-08  6:41 Jitendra Bhivare
2018-05-08  6:18 Jitendra Bhivare

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=684183f82edb1d47f09079b6fb57a3d7@mail.gmail.com \
    --to=spdk@lists.01.org \
    /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