On Fri, Jan 31, 2025 at 10:52:37AM -0400, Jason Gunthorpe wrote: > On Fri, Jan 31, 2025 at 01:59:09PM +1100, Alistair Popple wrote: > > Combining P2PDMA and DEVICE_PRIVATE pages > > ========================================= > > > > Currently device memory that cannot be directly accessed via the CPU can be > > represented by DEVICE_PRIVATE pages allowing it to be mapped and treated like > > a normal virtual page by userpsace. Many devices also support accessing device > > memory directly from the CPU via a PCIe BAR. > > > > This access requires a P2PDMA page, meaning there are potentially two pages > > tracking the same piece of physical memory. This not only seems wasteful but > > fraught - for example device drivers need to keep page lifetimes in sync. I > > would like to discuss ways of solving this. > > My general plan for this has been to teach the DMA API how to do P2P > without struct page. Leon's topic is the frist step on this journey. > https://lore.kernel.org/linux-mm/97f385db-42c9-4c04-8fba-9b1ba8ffc525@xxxxxxxxxx/ The latest proposal for LSF/MM 2025 is here: [LSF/MM/BPF TOPIC] DMA mapping API in complex scenarios https://lore.kernel.org/linux-rdma/20250122071600.GC10702@unreal/T/#u Thanks