On Wed, Aug 30, 2023 at 04:33:41PM +0200, Christoph Hellwig wrote: > On Wed, Aug 30, 2023 at 12:47:57PM +0900, Tomasz Figa wrote: > > Do we see anything replacing it widely anywhere on the short-middle > > term horizon? I think we could possibly migrate vb2 to use that new > > thing internally and just provide some compatibility X to scatterlist > > conversion function for the drivers. > > Jason said at LSF/MM that he had a prototype for a mapping API that > takes a phys/len array as input and dma_addr/len a output, which really > is the right thing to do, especially for dmabuf. Yes, still a prototype. Given the change in direction some of the assumptions of the list design will need some adjusting. I felt there wasn't much justification to add a list without also supporting the P2P and it was not looking very good to give the DMA API proper p2p support without also connecting it to lists somehow. Anyhow, I had drafted a basic list datastructure and starting implementation that is sort of structured in away that is similar to xarray (eg with fixed chunks, generic purpose, etc) https://github.com/jgunthorpe/linux/commit/58d7e0578a09d9cd2360be515208bcd74ade5958 I would still call it an experiment as the auto-sizing entry approach needs benchmarking to see what it costs. > Jason, what's the status of your work? After we talked I changed the order of the work, instead of starting with the SG list side, I wanted to progress on the DMA API side and then build any list infrastructure on that new API. Your idea to use a new API that could allocate IOVA and then map phys to IOVA as a DMA API entry point looked good to me, and it is a perfect map for what RDMA's ODP stuff needs. So I changed direction to rework ODP and introduce the DMA API parts as the first step. I had to put it aside due to the volume of iommu/vfio stuff going on right now. However, I think I will have someone who can work on the ODP driver part this month Regardless, RDMA really needs some kind of generic lists to hold CPU and physical address ranges, so I still see that as being part of the ultimate solution. Jason