All of lore.kernel.org
 help / color / mirror / Atom feed
* [LSF/MM/BPF proposal]: Physr discussion
@ 2023-01-21 15:03 ` Jason Gunthorpe
  0 siblings, 0 replies; 27+ messages in thread
From: Jason Gunthorpe @ 2023-01-21 15:03 UTC (permalink / raw)
  To: lsf-pc, linux-mm, iommu, linux-rdma
  Cc: Matthew Wilcox, Christoph Hellwig, Joao Martins, John Hubbard,
	Logan Gunthorpe, Ming Lei, linux-block, netdev, linux-mm,
	linux-rdma, dri-devel, nvdimm

I would like to have a session at LSF to talk about Matthew's
physr discussion starter:

 https://lore.kernel.org/linux-mm/YdyKWeU0HTv8m7wD@casper.infradead.org/

I have become interested in this with some immediacy because of
IOMMUFD and this other discussion with Christoph:

 https://lore.kernel.org/kvm/4-v2-472615b3877e+28f7-vfio_dma_buf_jgg@nvidia.com/
    
Which results in, more or less, we have no way to do P2P DMA
operations without struct page - and from the RDMA side solving this
well at the DMA API means advancing at least some part of the physr
idea.

So - my objective is to enable to DMA API to "DMA map" something that
is not a scatterlist, may or may not contain struct pages, but can
still contain P2P DMA data. From there I would move RDMA MR's to use
this new API, modify DMABUF to export it, complete the above VFIO
series, and finally, use all of this to add back P2P support to VFIO
when working with IOMMUFD by allowing IOMMUFD to obtain a safe
reference to the VFIO memory using DMABUF. From there we'd want to see
pin_user_pages optimized, and that also will need some discussion how
best to structure it.

I also have several ideas on how something like physr can optimize the
iommu driver ops when working with dma-iommu.c and IOMMUFD.

I've been working on an implementation and hope to have something
draft to show on the lists in a few weeks. It is pretty clear there
are several interesting decisions to make that I think will benefit
from a live discussion.

Providing a kernel-wide alternative to scatterlist is something that
has general interest across all the driver subsystems. I've started to
view the general problem rather like xarray where the main focus is to
create the appropriate abstraction and then go about transforming
users to take advatange of the cleaner abstraction. scatterlist
suffers here because it has an incredibly leaky API, a huge number of
(often sketchy driver) users, and has historically been very difficult
to improve.

The session would quickly go over the current state of whatever the
mailing list discussion evolves into and an open discussion around the
different ideas.

Thanks,
Jason

^ permalink raw reply	[flat|nested] 27+ messages in thread

end of thread, other threads:[~2023-04-17 19:59 UTC | newest]

Thread overview: 27+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-01-21 15:03 [LSF/MM/BPF proposal]: Physr discussion Jason Gunthorpe
2023-01-21 15:03 ` Jason Gunthorpe
2023-01-23  4:36 ` Matthew Wilcox
2023-01-23  4:36   ` Matthew Wilcox
2023-01-23 13:44   ` Jason Gunthorpe
2023-01-23 13:44     ` Jason Gunthorpe
2023-01-23 19:47     ` Bart Van Assche
2023-01-23 19:47       ` Bart Van Assche
2023-01-24  6:15       ` Chaitanya Kulkarni
2023-01-24  6:15         ` Chaitanya Kulkarni
2023-01-26  9:39   ` Mike Rapoport
2023-01-26  9:39     ` Mike Rapoport
2023-01-23 19:36 ` [Lsf-pc] " Dan Williams
2023-01-23 19:36   ` Dan Williams
2023-01-23 20:11   ` Matthew Wilcox
2023-01-23 20:11     ` Matthew Wilcox
2023-01-23 20:50     ` Dan Williams
2023-01-23 20:50       ` Dan Williams
2023-01-23 22:46       ` Matthew Wilcox
2023-01-26 19:38       ` Jason Gunthorpe
2023-01-26 19:38         ` Jason Gunthorpe
2023-01-26  1:45 ` Zhu Yanjun
2023-01-26  1:45   ` Zhu Yanjun
2023-02-28 20:59 ` T.J. Mercier
2023-02-28 20:59   ` T.J. Mercier
2023-04-17 19:59   ` Jason Gunthorpe
2023-04-17 19:59     ` Jason Gunthorpe

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.