dma-mapping: benchmark: Add support for multi-pages map/unmap
authorXiang Chen <chenxiang66@hisilicon.com>
Thu, 18 Mar 2021 09:29:30 +0000 (17:29 +0800)
committerChristoph Hellwig <hch@lst.de>
Fri, 2 Apr 2021 14:41:08 +0000 (16:41 +0200)
commitca947482b0b30443e6da1f0f5ba7244e34a4f65a
tree4aa88cbca829f7daa3ceaf7384a4b81ab69729ca
parent42e4eefb089f12ea900062ecdcc7ca10c3423a05
dma-mapping: benchmark: Add support for multi-pages map/unmap

Currently it only support one page map/unmap once a time for dma-map
benchmark, but there are some other scenaries which need to support for
multi-page map/unmap: for those multi-pages interfaces such as
dma_alloc_coherent() and dma_map_sg(), the time spent on multi-pages
map/unmap is not the time of a single page * npages (not linear) as it
may use block description instead of page description when it is satified
with the size such as 2M/1G, and also it can send a single TLB invalidation
command to invalidate multi-pages instead of multi-times when RIL is
enabled (which will short the time of unmap). So it is necessary to add
support for multi-pages map/unmap.

Add a parameter "-g" to support multi-pages map/unmap.

Signed-off-by: Xiang Chen <chenxiang66@hisilicon.com>
Acked-by: Barry Song <song.bao.hua@hisilicon.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
kernel/dma/map_benchmark.c
tools/testing/selftests/dma/dma_map_benchmark.c