From: Auger Eric <eric.auger@redhat.com>
To: Yongji Xie <xyjxie@linux.vnet.ibm.com>,
kvm@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-pci@vger.kernel.org, linuxppc-dev@lists.ozlabs.org,
iommu@lists.linux-foundation.org
Cc: alex.williamson@redhat.com, bhelgaas@google.com, aik@ozlabs.ru,
benh@kernel.crashing.org, paulus@samba.org, mpe@ellerman.id.au,
joro@8bytes.org, warrier@linux.vnet.ibm.com,
zhong@linux.vnet.ibm.com, nikunj@linux.vnet.ibm.com,
eric.auger@linaro.org, will.deacon@arm.com,
gwshan@linux.vnet.ibm.com, alistair@popple.id.au,
ruscur@russell.cc, kevin.tian@intel.com, David.Laight@ACULAB.COM
Subject: Re: [RESEND PATCH v2 0/6] vfio-pci: Add support for mmapping MSI-X table
Date: Wed, 8 Jun 2016 09:41:05 +0200 [thread overview]
Message-ID: <e03d36bb-c8ff-ec95-780e-5f625bdaf78e@redhat.com> (raw)
In-Reply-To: <1464847803-22756-1-git-send-email-xyjxie@linux.vnet.ibm.com>
Hi Yongji,
Le 02/06/2016 à 08:09, Yongji Xie a écrit :
> Current vfio-pci implementation disallows to mmap the page
> containing MSI-X table in case that users can write directly
> to MSI-X table and generate an incorrect MSIs.
>
> However, this will cause some performance issue when there
> are some critical device registers in the same page as the
> MSI-X table. We have to handle the mmio access to these
> registers in QEMU emulation rather than in guest.
>
> To solve this issue, this series allows to expose MSI-X table
> to userspace when hardware enables the capability of interrupt
> remapping which can ensure that a given PCI device can only
> shoot the MSIs assigned for it. And we introduce a new bus_flags
> PCI_BUS_FLAGS_MSI_REMAP to test this capability on PCI side
> for different archs.
>
> The patch 3 are based on the proposed patchset[1].
You may have noticed I sent a respin of [1] yesterday:
http://www.gossamer-threads.com/lists/linux/kernel/2455187.
Unfortunately you will see I removed the patch defining the new
msi_domain_info MSI_FLAG_IRQ_REMAPPING flag you rely on in this series.
I did so because I was not using it anymore. At the beginning this was
used to detect whether the MSI assignment was safe but this
method was covering cases where the MSI controller was
upstream to the IOMMU. So now I rely on a mechanism where MSI controller
are supposed to register their MSI doorbells and tag whether it is safe.
I don't know yet how this change will be welcomed though. Depending
on reviews/discussions, might happen we revert to the previous flag.
If you need the feature you can embed the used patches in your series and
follow the review process separately. Sorry for the setback.
Best Regards
Eric
>
> Changelog v2:
> - Make the commit log more clear
> - Replace pci_bus_check_msi_remapping() with pci_bus_msi_isolated()
> so that we could clearly know what the function does
> - Set PCI_BUS_FLAGS_MSI_REMAP in pci_create_root_bus() instead
> of iommu_bus_notifier()
> - Reserve VFIO_REGION_INFO_FLAG_CAPS when we allow to mmap MSI-X
> table so that we can know whether we allow to mmap MSI-X table
> in QEMU
>
> [1] https://www.mail-archive.com/linux-kernel%40vger.kernel.org/msg1138820.html
>
> Yongji Xie (6):
> PCI: Add a new PCI_BUS_FLAGS_MSI_REMAP flag
> PCI: Set PCI_BUS_FLAGS_MSI_REMAP if MSI controller enables IRQ remapping
> PCI: Set PCI_BUS_FLAGS_MSI_REMAP if IOMMU have capability of IRQ remapping
> iommu: Set PCI_BUS_FLAGS_MSI_REMAP on iommu driver initialization
> pci-ioda: Set PCI_BUS_FLAGS_MSI_REMAP for IODA host bridge
> vfio-pci: Allow to expose MSI-X table to userspace if interrupt remapping is enabled
>
> arch/powerpc/platforms/powernv/pci-ioda.c | 8 ++++++++
> drivers/iommu/iommu.c | 8 ++++++++
> drivers/pci/msi.c | 15 +++++++++++++++
> drivers/pci/probe.c | 7 +++++++
> drivers/vfio/pci/vfio_pci.c | 17 ++++++++++++++---
> drivers/vfio/pci/vfio_pci_rdwr.c | 3 ++-
> include/linux/msi.h | 5 ++++-
> include/linux/pci.h | 1 +
> 8 files changed, 59 insertions(+), 5 deletions(-)
>
next prev parent reply other threads:[~2016-06-08 7:41 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-06-02 6:09 Yongji Xie
2016-06-02 6:09 ` [RESEND PATCH v2 1/6] PCI: Add a new PCI_BUS_FLAGS_MSI_REMAP flag Yongji Xie
2016-06-02 6:09 ` [RESEND PATCH v2 2/6] PCI: Set PCI_BUS_FLAGS_MSI_REMAP if MSI controller enables IRQ remapping Yongji Xie
2016-06-05 20:10 ` kbuild test robot
2016-06-06 8:21 ` Yongji Xie
2016-06-05 21:11 ` kbuild test robot
2016-06-06 8:25 ` Yongji Xie
2016-06-02 6:10 ` [RESEND PATCH v2 3/6] PCI: Set PCI_BUS_FLAGS_MSI_REMAP if IOMMU have capability of " Yongji Xie
2016-06-02 6:10 ` [RESEND PATCH v2 4/6] iommu: Set PCI_BUS_FLAGS_MSI_REMAP on iommu driver initialization Yongji Xie
2016-06-02 6:10 ` [RESEND PATCH v2 5/6] pci-ioda: Set PCI_BUS_FLAGS_MSI_REMAP for IODA host bridge Yongji Xie
2016-06-02 6:10 ` [RESEND PATCH v2 6/6] vfio-pci: Allow to expose MSI-X table to userspace if interrupt remapping is enabled Yongji Xie
2016-06-02 13:11 ` [RESEND PATCH v2 0/6] vfio-pci: Add support for mmapping MSI-X table Alex Williamson
2016-06-03 2:28 ` Yongji Xie
2016-06-08 7:41 ` Auger Eric [this message]
2016-06-08 9:56 ` Yongji Xie
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=e03d36bb-c8ff-ec95-780e-5f625bdaf78e@redhat.com \
--to=eric.auger@redhat.com \
--cc=David.Laight@ACULAB.COM \
--cc=aik@ozlabs.ru \
--cc=alex.williamson@redhat.com \
--cc=alistair@popple.id.au \
--cc=benh@kernel.crashing.org \
--cc=bhelgaas@google.com \
--cc=eric.auger@linaro.org \
--cc=gwshan@linux.vnet.ibm.com \
--cc=iommu@lists.linux-foundation.org \
--cc=joro@8bytes.org \
--cc=kevin.tian@intel.com \
--cc=kvm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=mpe@ellerman.id.au \
--cc=nikunj@linux.vnet.ibm.com \
--cc=paulus@samba.org \
--cc=ruscur@russell.cc \
--cc=warrier@linux.vnet.ibm.com \
--cc=will.deacon@arm.com \
--cc=xyjxie@linux.vnet.ibm.com \
--cc=zhong@linux.vnet.ibm.com \
/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
all inboxes | Powered by JetHome®