On Thu, Jun 17, 2021 at 7:07 PM Christoph Hellwig <hch@xxxxxx> wrote: > > On Thu, Jun 17, 2021 at 06:40:58PM +0900, Tomasz Figa wrote: > > Sorry, I meant dma_alloc_attrs() and yes, it's indeed a misnomer. Our > > use case basically has no need for the additional coherent mapping, so > > creation of it can be skipped to save some vmalloc space. (Yes, it > > probably only matters for 32-bit architectures.) > > Yes, that is the normal use case, and it is solved by using > dma_alloc_noncoherent or dma_alloc_noncontigous without the vmap > step. True, silly me. Probably not enough coffee at the time I was looking at it. With that, wouldn't it be possible to completely get rid of dma_alloc_{coherent,attrs}() and use dma_alloc_noncontiguous() + optional kernel and/or userspace mapping helper everywhere? (Possibly renaming it to something as simple as dma_alloc().