From: Christoph Hellwig <hch@infradead.org>
To: "Christian König" <christian.koenig@amd.com>
Cc: Christoph Hellwig <hch@infradead.org>,
Jason Gunthorpe <jgg@nvidia.com>,
Alex Williamson <alex.williamson@redhat.com>,
Cornelia Huck <cohuck@redhat.com>,
dri-devel@lists.freedesktop.org, kvm@vger.kernel.org,
linaro-mm-sig@lists.linaro.org, linux-media@vger.kernel.org,
Sumit Semwal <sumit.semwal@linaro.org>,
Daniel Vetter <daniel.vetter@ffwll.ch>,
Leon Romanovsky <leon@kernel.org>,
linux-rdma@vger.kernel.org, Maor Gottlieb <maorg@nvidia.com>,
Oded Gabbay <ogabbay@kernel.org>
Subject: Re: [PATCH v2 4/4] vfio/pci: Allow MMIO regions to be exported through dma-buf
Date: Wed, 7 Sep 2022 08:23:28 -0700 [thread overview]
Message-ID: <Yxi3cClg39/QX+gP@infradead.org> (raw)
In-Reply-To: <58d6e892-82df-7aa7-4798-9e5da7c634ad@amd.com>
On Wed, Sep 07, 2022 at 05:08:37PM +0200, Christian König wrote:
> The key point is that you can't do any CPU fallback with this as long as the
> CPU wouldn't do exactly the same thing as the original hardware device. E.g.
> not write combine nor do any fully page copies etc...
That is true for MMIO in general. You need to use the mmio accessors,
and even then it needs to match what the hardware expects
> This is not even a memory write, but rather just some trigger event. That's
> essentially the background why I think having struct pages and sg_tables
> doesn't make any sense at all for this use case.
Well, Jasons patch uses a sg_table, just in a very broken way.
> > > Would you mind if I start to tackle this problem?
> > Yes, I've been waiting forever for someone to tacke how the scatterlist
> > is abused in dma-buf..
>
> How about we separate the scatterlist into page and DMA address container?
As said before that is fundamentally the right thing to do. It just
takes a lot of work. I think on the dma mapping side we're finally
getting ready for it now that arm uses the common dma-direct code,
although getting rid of the arm iommu ops first would be even better.
Note that this only solves the problem of needing the pages to hold
the physical address. The other thing the pages are used for in p2p
is that (through the pgmap) it points to the owning device of the p2p
memory and thus allows figuring out how it needs to be accessed.
prev parent reply other threads:[~2022-09-07 15:23 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-08-31 23:12 [PATCH v2 0/4] Allow MMIO regions to be exported through dma-buf Jason Gunthorpe
2022-08-31 23:12 ` [PATCH v2 1/4] dma-buf: Add dma_buf_try_get() Jason Gunthorpe
2022-09-01 7:55 ` Christian König
2022-09-06 16:44 ` Jason Gunthorpe
2022-09-06 17:52 ` Christian König
2022-08-31 23:12 ` [PATCH v2 2/4] vfio: Add vfio_device_get() Jason Gunthorpe
2022-08-31 23:12 ` [PATCH v2 3/4] vfio_pci: Do not open code pci_try_reset_function() Jason Gunthorpe
2022-08-31 23:12 ` [PATCH v2 4/4] vfio/pci: Allow MMIO regions to be exported through dma-buf Jason Gunthorpe
2022-09-06 9:51 ` Christoph Hellwig
2022-09-06 10:38 ` Christian König
2022-09-06 11:48 ` Jason Gunthorpe
2022-09-06 12:34 ` Oded Gabbay
2022-09-06 17:59 ` Jason Gunthorpe
2022-09-06 19:44 ` Oded Gabbay
2022-09-07 12:07 ` Christoph Hellwig
2022-09-07 12:05 ` Christoph Hellwig
2022-09-07 12:33 ` Jason Gunthorpe
2022-09-07 14:29 ` Christoph Hellwig
2022-09-07 14:46 ` Oded Gabbay
2022-09-07 15:23 ` Jason Gunthorpe
2022-09-07 15:32 ` Christoph Hellwig
2022-09-07 16:12 ` Jason Gunthorpe
2022-09-09 13:24 ` Christoph Hellwig
2022-09-09 14:09 ` Jason Gunthorpe
2022-09-07 16:31 ` Robin Murphy
2022-09-07 16:47 ` Jason Gunthorpe
2022-09-07 17:03 ` Dan Williams
2022-09-07 15:01 ` Robin Murphy
2022-09-07 12:03 ` Christoph Hellwig
2022-09-07 15:08 ` Christian König
2022-09-07 15:23 ` Christoph Hellwig [this message]
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=Yxi3cClg39/QX+gP@infradead.org \
--to=hch@infradead.org \
--cc=alex.williamson@redhat.com \
--cc=christian.koenig@amd.com \
--cc=cohuck@redhat.com \
--cc=daniel.vetter@ffwll.ch \
--cc=dri-devel@lists.freedesktop.org \
--cc=jgg@nvidia.com \
--cc=kvm@vger.kernel.org \
--cc=leon@kernel.org \
--cc=linaro-mm-sig@lists.linaro.org \
--cc=linux-media@vger.kernel.org \
--cc=linux-rdma@vger.kernel.org \
--cc=maorg@nvidia.com \
--cc=ogabbay@kernel.org \
--cc=sumit.semwal@linaro.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