On Wed, Aug 30, 2023 at 01:43:57PM -0300, Jason Gunthorpe wrote: > > > 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 This seems fairly complicated complicated, and the entry seems pretty large for a bio_vec replacement or a dma_addr_t+len tuple, which both should be (sizeof(phys_addr_t) + sizeof(u32) + the size of flags if needed, which for 64-bit would fit into the padding from 96 bytes to 128 bytes anyway.