From: Jeff Guo <jia.guo@intel.com>
To: "Gaëtan Rivet" <gaetan.rivet@6wind.com>
Cc: stephen@networkplumber.org, bruce.richardson@intel.com,
ferruh.yigit@intel.com, konstantin.ananyev@intel.com,
jingjing.wu@intel.com, thomas@monjalon.net, motih@mellanox.com,
matan@mellanox.com, harry.van.haaren@intel.com,
qi.z.zhang@intel.com, shaopeng.he@intel.com,
bernard.iremonger@intel.com, arybchenko@solarflare.com,
jblunck@infradead.org, shreyansh.jain@nxp.com, dev@dpdk.org,
helin.zhang@intel.com
Subject: Re: [dpdk-dev] [PATCH v1 0/5] Enable hotplug in vfio
Date: Tue, 21 Aug 2018 14:45:32 +0800 [thread overview]
Message-ID: <1c5769b1-e196-a209-e19e-b0ea4cb51c4a@intel.com> (raw)
In-Reply-To: <20180820091533.yl2wzmvzfxqwo2po@bidouze.vm.6wind.com>
hi, gaetan
On 8/20/2018 5:15 PM, Gaëtan Rivet wrote:
> Hi Jeff,
>
> On Fri, Aug 17, 2018 at 06:51:26PM +0800, Jeff Guo wrote:
>> As we may know that the process of hotplug is different between igb_uio
>> and vfio. For igb_uio, it could use uevent notification and memory
>> failure handle mechanism for hotplug. But for vfio, when device is be
>> hotplug-out, the uevent can not be detected immediately, because of the
>> vfio kernel module will use a special mechanism to guaranty the pci
>> device would not be deleted until the user space release the resources,
>> so it will use another event “req notifier” at first to notify user space
>> to release resources for hotplug.
>>
>> This patch will add a new interrupt type of req notifier in eal interrupt,
>> and add the new interrupt handler in pci device to handle the req device
>> event. When the req notifier be detected, it can trigger the device event
>> callback process to process for hotplug. With this mechanism, hotplug
>> could be enable in vfio.
>>
> The REQ event seems VFIO specific.
> Why not leave it within the PCI bus, around the vfio glue, and leave the
> EAL unmodified?
Sorry i don' t see if there are any problem. Firstly, as we can see the
eal interrupt type, it cover the ext/uio/vfio/dev event types, which are
not general for all platform/bus/driver type.
so i think base on the current framework, the interrupt type structure
should be considerate as combined set, it could extend for other adding
interrupts case by case. And secondly, i don't know what
is your way about leave it within the PCI bus, because i need to use the
eal interrupt epoll to process this req interrupt which is familiar with
other interrupts. What do you think about that, if you still
have better suggestion, please detail it for clarify.
>> Jeff Guo (5):
>> eal: add a new req notifier to eal interrupt
>> eal: add a new req event to device event
>> eal: modify device event callback process func
>> pci: add req handler field to generic pci device
>> vfio: enable vfio hotplug by req notifier handler
>>
>> drivers/bus/pci/linux/pci_vfio.c | 104 +++++++++++++++++++++
>> drivers/bus/pci/pci_common.c | 10 ++
>> drivers/bus/pci/rte_bus_pci.h | 1 +
>> lib/librte_eal/common/eal_common_dev.c | 5 +-
>> lib/librte_eal/common/eal_private.h | 12 ---
>> lib/librte_eal/common/include/rte_dev.h | 20 +++-
>> lib/librte_eal/common/include/rte_eal_interrupts.h | 1 +
>> lib/librte_eal/linuxapp/eal/eal_dev.c | 2 +-
>> lib/librte_eal/linuxapp/eal/eal_interrupts.c | 71 ++++++++++++++
>> lib/librte_ethdev/rte_ethdev.c | 3 +-
>> 10 files changed, 212 insertions(+), 17 deletions(-)
>>
>> --
>> 2.7.4
>>
next prev parent reply other threads:[~2018-08-21 6:45 UTC|newest]
Thread overview: 63+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-08-17 10:51 Jeff Guo
2018-08-17 10:51 ` [dpdk-dev] [PATCH v1 1/5] eal: add a new req notifier to eal interrupt Jeff Guo
2018-08-17 10:51 ` [dpdk-dev] [PATCH v1 2/5] eal: add a new req event to device event Jeff Guo
2018-08-20 10:37 ` Andrew Rybchenko
2018-08-21 6:56 ` Jeff Guo
2018-08-21 7:20 ` Andrew Rybchenko
2018-08-21 7:37 ` Jeff Guo
2018-08-17 10:51 ` [dpdk-dev] [PATCH v1 3/5] eal: modify device event callback process func Jeff Guo
2018-09-26 12:20 ` Burakov, Anatoly
2018-09-30 10:30 ` Jeff Guo
2018-09-26 12:20 ` Burakov, Anatoly
2018-09-30 10:31 ` Jeff Guo
2018-08-17 10:51 ` [dpdk-dev] [PATCH v1 4/5] pci: add req handler field to generic pci device Jeff Guo
2018-09-26 12:22 ` Burakov, Anatoly
2018-09-29 6:15 ` Jeff Guo
2018-10-01 7:51 ` Burakov, Anatoly
2018-08-17 10:51 ` [dpdk-dev] [PATCH v1 5/5] vfio: enable vfio hotplug by req notifier handler Jeff Guo
2018-09-26 12:28 ` Burakov, Anatoly
2018-09-29 5:51 ` Jeff Guo
2018-08-20 9:15 ` [dpdk-dev] [PATCH v1 0/5] Enable hotplug in vfio Gaëtan Rivet
2018-08-21 6:45 ` Jeff Guo [this message]
2018-08-21 8:17 ` Gaëtan Rivet
2018-09-30 14:16 ` [dpdk-dev] [PATCH v2 0/4] " Jeff Guo
2018-09-30 14:16 ` [dpdk-dev] [PATCH v2 1/4] eal: add a new req notifier to eal interrupt Jeff Guo
2018-10-01 9:46 ` Andrew Rybchenko
2018-10-02 4:30 ` Jeff Guo
2018-10-02 6:51 ` Andrew Rybchenko
2018-09-30 14:16 ` [dpdk-dev] [PATCH v2 2/4] eal: modify device event callback process func Jeff Guo
2018-10-01 9:46 ` Andrew Rybchenko
2018-10-02 4:45 ` Jeff Guo
2018-10-02 6:53 ` Andrew Rybchenko
2018-09-30 14:16 ` [dpdk-dev] [PATCH v2 3/4] pci: add req handler field to generic pci device Jeff Guo
2018-10-01 9:46 ` Andrew Rybchenko
2018-10-02 6:32 ` Jeff Guo
2018-09-30 14:16 ` [dpdk-dev] [PATCH v2 4/4] vfio: enable vfio hotplug by req notifier handler Jeff Guo
2018-10-01 9:47 ` Andrew Rybchenko
2018-10-02 5:42 ` Jeff Guo
2018-10-02 12:42 ` [dpdk-dev] [PATCH v2 0/4] Enable hotplug in vfio Jeff Guo
2018-10-02 12:42 ` [dpdk-dev] [PATCH v2 1/4] eal: add a new req notifier to eal interrupt Jeff Guo
2018-10-02 12:42 ` [dpdk-dev] [PATCH v2 2/4] eal: modify device event callback process func Jeff Guo
2018-10-02 12:42 ` [dpdk-dev] [PATCH v2 3/4] pci: add req handler field to generic pci device Jeff Guo
2018-10-02 12:42 ` [dpdk-dev] [PATCH v2 4/4] vfio: enable vfio hotplug by req notifier handler Jeff Guo
2018-10-02 12:44 ` [dpdk-dev] [PATCH v3 0/4] Enable hotplug in vfio Jeff Guo
2018-10-02 12:44 ` [dpdk-dev] [PATCH v3 1/4] eal: add a new req notifier to eal interrupt Jeff Guo
2018-10-02 12:45 ` [dpdk-dev] [PATCH v3 2/4] eal: modify device event callback process func Jeff Guo
2018-10-02 12:45 ` [dpdk-dev] [PATCH v3 3/4] pci: add req handler field to generic pci device Jeff Guo
2018-10-02 12:45 ` [dpdk-dev] [PATCH v3 4/4] vfio: enable vfio hotplug by req notifier handler Jeff Guo
2018-10-02 12:58 ` [dpdk-dev] [PATCH v3 0/4] Enable hotplug in vfio Jeff Guo
2018-10-02 12:58 ` [dpdk-dev] [PATCH v3 1/4] eal: add a new req notifier to eal interrupt Jeff Guo
2018-10-02 12:58 ` [dpdk-dev] [PATCH v3 2/4] eal: modify device event callback process func Jeff Guo
2018-10-02 12:58 ` [dpdk-dev] [PATCH v3 3/4] pci: add req handler field to generic pci device Jeff Guo
2018-10-02 12:58 ` [dpdk-dev] [PATCH v3 4/4] vfio: enable vfio hotplug by req notifier handler Jeff Guo
2018-10-02 14:15 ` Burakov, Anatoly
2018-10-04 5:05 ` Jeff Guo
2018-10-04 6:44 ` [dpdk-dev] [PATCH v4 0/4] Enable hotplug in vfio Jeff Guo
2018-10-04 6:44 ` [dpdk-dev] [PATCH v4 1/4] eal: add a new req notifier to eal interrupt Jeff Guo
2018-10-04 6:44 ` [dpdk-dev] [PATCH v4 2/4] eal: modify device event callback process func Jeff Guo
2018-10-04 6:44 ` [dpdk-dev] [PATCH v4 3/4] pci: add req handler field to generic pci device Jeff Guo
2018-10-15 9:12 ` Thomas Monjalon
2018-10-15 10:01 ` Thomas Monjalon
2018-10-04 6:44 ` [dpdk-dev] [PATCH v4 4/4] vfio: enable vfio hotplug by req notifier handler Jeff Guo
2018-10-04 9:11 ` [dpdk-dev] [PATCH v4 0/4] Enable hotplug in vfio Burakov, Anatoly
2018-10-15 21:47 ` Thomas Monjalon
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=1c5769b1-e196-a209-e19e-b0ea4cb51c4a@intel.com \
--to=jia.guo@intel.com \
--cc=arybchenko@solarflare.com \
--cc=bernard.iremonger@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=jingjing.wu@intel.com \
--cc=konstantin.ananyev@intel.com \
--cc=matan@mellanox.com \
--cc=motih@mellanox.com \
--cc=qi.z.zhang@intel.com \
--cc=shaopeng.he@intel.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).