On Wed, Apr 19, 2023 at 03:22:39PM +0200, Alexander Lobakin wrote: > If DMA syncs are not needed on your x86_64 DMA-coherent system, it > doesn't mean we all don't need it. If the DMA isn't actually a DMA (as in the virtio case, or other cases that instead have to do their own dma mapping at much lower layers) syncs generally don't make sense. > Instead of filling pointers with > "default" callbacks, you could instead avoid indirect calls at all when > no custom DMA ops are specified. Pls see how for example Christoph did > that for direct DMA. It would cost only one if-else for case without > custom DMA ops here instead of an indirect call each time. So yes, I think the abstraction here should not be another layer of DMA ops, but the option to DMA map or not at all.