tools/dma: Add dma_map_sg supportSupport for dma_map_sg, add option '-m' to distinguish mode.i) Users can set option '-m' to select mode: DMA_MAP_BENCH_SINGLE_MODE=0, DMA_MAP_BENCH_SG_MODE:=1
tools/dma: Add dma_map_sg supportSupport for dma_map_sg, add option '-m' to distinguish mode.i) Users can set option '-m' to select mode: DMA_MAP_BENCH_SINGLE_MODE=0, DMA_MAP_BENCH_SG_MODE:=1 (The mode is also show in the test result).ii) Users can set option '-g' to set sg_nents (total count of entries in scatterlist) the maximum number is 1024. Each of sg buf size is PAGE_SIZE. e.g [root@localhost]# ./dma_map_benchmark -m 1 -g 8 -t 8 -s 30 -d 2 dma mapping mode: DMA_MAP_BENCH_SG_MODE dma mapping benchmark: threads:8 seconds:30 node:-1 dir:FROM_DEVICE granule/sg_nents: 8 average map latency(us):1.4 standard deviation:0.3 average unmap latency(us):1.3 standard deviation:0.3 [root@localhost]# ./dma_map_benchmark -m 0 -g 8 -t 8 -s 30 -d 2 dma mapping mode: DMA_MAP_BENCH_SINGLE_MODE dma mapping benchmark: threads:8 seconds:30 node:-1 dir:FROM_DEVICE granule/sg_nents: 8 average map latency(us):1.0 standard deviation:0.3 average unmap latency(us):1.3 standard deviation:0.5Reviewed-by: Barry Song <baohua@kernel.org>Signed-off-by: Qinxin Xia <xiaqinxin@huawei.com>Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>Link: https://lore.kernel.org/r/20260225093800.3625054-4-xiaqinxin@huawei.com
show more ...
Merge tag 'dma-mapping-6.19-2025-12-05' of git://git.kernel.org/pub/scm/linux/kernel/git/mszyprowski/linuxPull dma-mapping updates from Marek Szyprowski: - More DMA mapping API refactoring to phy
Merge tag 'dma-mapping-6.19-2025-12-05' of git://git.kernel.org/pub/scm/linux/kernel/git/mszyprowski/linuxPull dma-mapping updates from Marek Szyprowski: - More DMA mapping API refactoring to physical addresses as the primary interface instead of page+offset parameters. This time dma_map_ops callbacks are converted to physical addresses, what in turn results also in some simplification of architecture specific code (Leon Romanovsky and Jason Gunthorpe) - Clarify that dma_map_benchmark is not a kernel self-test, but standalone tool (Qinxin Xia)* tag 'dma-mapping-6.19-2025-12-05' of git://git.kernel.org/pub/scm/linux/kernel/git/mszyprowski/linux: dma-mapping: remove unused map_page callback xen: swiotlb: Convert mapping routine to rely on physical address x86: Use physical address for DMA mapping sparc: Use physical address DMA mapping powerpc: Convert to physical address DMA mapping parisc: Convert DMA map_page to map_phys interface MIPS/jazzdma: Provide physical address directly alpha: Convert mapping routine to rely on physical address dma-mapping: remove unused mapping resource callbacks xen: swiotlb: Switch to physical address mapping callbacks ARM: dma-mapping: Switch to physical address mapping callbacks ARM: dma-mapping: Reduce struct page exposure in arch_sync_dma*() dma-mapping: convert dummy ops to physical address mapping dma-mapping: prepare dma_map_ops to conversion to physical address tools/dma: move dma_map_benchmark from selftests to tools/dma
tools/dma: move dma_map_benchmark from selftests to tools/dmadma_map_benchmark is a standalone developer tool rather than anautomated selftest. It has no pass/fail criteria, expects manualinvocat
tools/dma: move dma_map_benchmark from selftests to tools/dmadma_map_benchmark is a standalone developer tool rather than anautomated selftest. It has no pass/fail criteria, expects manualinvocation, and is built as a normal userspace binary. Move it totools/dma/ and add a minimal Makefile.Suggested-by: Marek Szyprowski <m.szyprowski@samsung.com>Suggested-by: Barry Song <baohua@kernel.org>Signed-off-by: Qinxin Xia <xiaqinxin@huawei.com>Acked-by: Barry Song <baohua@kernel.org>Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>Link: https://lore.kernel.org/r/20251028120900.2265511-3-xiaqinxin@huawei.com