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.