On Thu, Jan 20, 2022 at 02:56:02PM +0100, Christoph Hellwig wrote:
on the input side to dma mapping the bio_vecs (or phyrs) are chained as bios or whatever the containing structure is. These already exist and have infrastructure at least in the block layer
on the output side I plan for two options:
- we have a sane IOMMU and everyting will be coalesced into a single dma_range. This requires setting the block layer merge boundary to match the IOMMU page size, but that is a very good thing to do anyway.
It doesn't look like IOMMU page sizes are exported, or even necessarily consistently sized on at least one arch (power).