mirror of
https://github.com/torvalds/linux.git
synced 2026-04-18 14:53:58 -04:00
dma-mapping: benchmark: modify the framework to adapt to more map modes
This patch adjusts the DMA map benchmark framework to make the DMA map benchmark framework more flexible and adaptable to other mapping modes in the future. By abstracting the framework into five interfaces: prepare, unprepare, initialize_data, do_map, and do_unmap. The new map schema can be introduced more easily without major modifications to the existing code structure. Reviewed-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-2-xiaqinxin@huawei.com
This commit is contained in:
committed by
Marek Szyprowski
parent
6de23f81a5
commit
9cc60ec453
@@ -17,6 +17,11 @@
|
||||
#define DMA_MAP_TO_DEVICE 1
|
||||
#define DMA_MAP_FROM_DEVICE 2
|
||||
|
||||
enum {
|
||||
DMA_MAP_BENCH_SINGLE_MODE,
|
||||
DMA_MAP_BENCH_MODE_MAX
|
||||
};
|
||||
|
||||
struct map_benchmark {
|
||||
__u64 avg_map_100ns; /* average map latency in 100ns */
|
||||
__u64 map_stddev; /* standard deviation of map latency */
|
||||
@@ -29,7 +34,8 @@ struct map_benchmark {
|
||||
__u32 dma_dir; /* DMA data direction */
|
||||
__u32 dma_trans_ns; /* time for DMA transmission in ns */
|
||||
__u32 granule; /* how many PAGE_SIZE will do map/unmap once a time */
|
||||
__u8 expansion[76]; /* For future use */
|
||||
__u8 map_mode; /* the mode of dma map */
|
||||
__u8 expansion[75]; /* For future use */
|
||||
};
|
||||
|
||||
#endif /* _UAPI_DMA_BENCHMARK_H */
|
||||
|
||||
Reference in New Issue
Block a user