From: Jason Gunthorpe <jgg@nvidia.com>
To: Robin Murphy <robin.murphy@arm.com>
Cc: Alexander Duyck <alexander.duyck@gmail.com>,
"Tian, Kevin" <kevin.tian@intel.com>,
Alex Williamson <alex.williamson@redhat.com>,
Baolu Lu <baolu.lu@linux.intel.com>,
LKML <linux-kernel@vger.kernel.org>,
linux-pci <linux-pci@vger.kernel.org>,
"iommu@lists.linux.dev" <iommu@lists.linux.dev>
Subject: Re: Question about reserved_regions w/ Intel IOMMU
Date: Mon, 19 Jun 2023 11:02:12 -0300 [thread overview]
Message-ID: <ZJBf5DP60prFH5R2@nvidia.com> (raw)
In-Reply-To: <90823b33-1f44-8789-9a38-282407fd9f15@arm.com>
On Mon, Jun 19, 2023 at 11:20:58AM +0100, Robin Murphy wrote:
> On 2023-06-16 19:59, Jason Gunthorpe wrote:
> > On Fri, Jun 16, 2023 at 05:34:53PM +0100, Robin Murphy wrote:
> > >
> > > If the system has working ACS configured correctly, then this issue should
> > > be moot;
> >
> > Yes
> >
> > > if it doesn't, then a VFIO user is going to get a whole group of
> > > peer devices if they're getting anything at all, so it doesn't seem entirely
> > > unreasonable to leave it up to them to check that all those devices'
> > > resources play well with their expected memory map.
> >
> > I think the kernel should be helping here.. 'go figure it out from
> > lspci' is a very convoluted and obscure uAPI, and I don't see things
> > like DPDK actually doing that.
> >
> > IMHO the uAPI expectation is that the kernel informs userspace what
> > the usable IOVA is, if bridge windows and lack of ACS are rendering
> > address space unusable then VFIO/iommufd should return it as excluded
> > as well.
> >
> > If we are going to do that then all UNAMANGED domain users should
> > follow the same logic.
> >
> > We probably have avoided bug reports because of how rare it would be
> > to see a switch and an UNMANAGED domain using scenario together -
> > especially with ACS turned off.
> >
> > So it is really narrow niche.. Obscure enough I'm not going to make
> > patches :)
>
> The main thing is that we've already been round this once before; we tried
> it 6 years ago and then reverted it a year later for causing more problems
> than it solved:
As I said earlier in this thread if we do it for VFIO then the
calculation must be precise and consider bus details like
ACS/etc. eg VFIO on an ACS system should not report any new regions.
It looks like that thread confirms we can't create reserved regions
which are wrong :)
I think Alex is saying the same things I'm saying in that thread too:
https://lore.kernel.org/all/20180226161310.061ce3a8@w520.home/
(b) is what the kernel should help prevent.
And it is clear there are today scenarios where a VFIO user will get
data loss because the reported valid IOVA from the kernel is
incorrect. Fixing this is hard, much harder than what commit
273df9635385 ("iommu/dma: Make PCI window reservation generic") has.
Thanks,
Jason
next prev parent reply other threads:[~2023-06-19 14:02 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-06-07 22:40 Question about reserved_regions w/ Intel IOMMU Alexander Duyck
2023-06-07 23:03 ` Alexander Duyck
2023-06-08 3:03 ` Baolu Lu
2023-06-08 14:33 ` Alexander Duyck
2023-06-08 15:38 ` Ashok Raj
2023-06-08 17:10 ` Alexander Duyck
2023-06-08 17:52 ` Ashok Raj
2023-06-08 18:15 ` Alexander Duyck
2023-06-08 18:02 ` Robin Murphy
2023-06-08 18:17 ` Alexander Duyck
2023-06-08 15:28 ` Robin Murphy
2023-06-13 15:54 ` Jason Gunthorpe
2023-06-16 8:39 ` Tian, Kevin
2023-06-16 12:20 ` Jason Gunthorpe
2023-06-16 15:27 ` Alexander Duyck
2023-06-16 16:34 ` Robin Murphy
2023-06-16 18:59 ` Jason Gunthorpe
2023-06-19 10:20 ` Robin Murphy
2023-06-19 14:02 ` Jason Gunthorpe [this message]
2023-06-20 14:57 ` Alexander Duyck
2023-06-20 16:55 ` Jason Gunthorpe
2023-06-20 17:47 ` Alexander Duyck
2023-06-21 11:30 ` Robin Murphy
2023-06-16 18:48 ` Jason Gunthorpe
2023-06-21 8:16 ` Tian, Kevin
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=ZJBf5DP60prFH5R2@nvidia.com \
--to=jgg@nvidia.com \
--cc=alex.williamson@redhat.com \
--cc=alexander.duyck@gmail.com \
--cc=baolu.lu@linux.intel.com \
--cc=iommu@lists.linux.dev \
--cc=kevin.tian@intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=robin.murphy@arm.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.