[PATCH v6 0/3] dma-mapping: benchmark: Add support for dma_map_sg

Qinxin Xia posted 3 patches 3 weeks, 4 days ago
include/uapi/linux/map_benchmark.h |   9 +-
kernel/dma/map_benchmark.c         | 245 ++++++++++++++++++++++++++---
tools/dma/dma_map_benchmark.c      |  23 ++-
3 files changed, 250 insertions(+), 27 deletions(-)
[PATCH v6 0/3] dma-mapping: benchmark: Add support for dma_map_sg
Posted by Qinxin Xia 3 weeks, 4 days ago
Modify the framework to adapt to more map modes, add benchmark
support for dma_map_sg, and add support sg map mode in ioctl.
 
The result:
[root@localhost]# ./dma_map_benchmark -m 1 -g 8 -t 8 -s 30 -d 2
dma mapping benchmark(SG_MODE): 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 benchmark(SINGLE_MODE): 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.5 

---
Changes since V5:
- Address the comments from Barry, the incorrect and unnecessary 'prepare_data' judgment
  is deleted and renamed 'prepare_data()' to 'initialize_data()'. The mode and
  other parameters in the output print are placed in the same print. In addition, the incorrect
  map_mode judgment in ioctrl and the wrong path in sg:prepare() does not release 'params' is fixed.
- Link: https://lore.kernel.org/all/20251222153246.2220659-1-xiaqinxin@huawei.com/

Changes since V4:
- Address the comments from Barry and Jonathan, irrelevant patches are deleted and
  the original cache processing logic is restored with add prepare_data().
- Link: https://lore.kernel.org/all/20250614143454.2927363-3-xiaqinxin@huawei.com/

Changes since V3:
- Address the comments from Barry, change mode to a more specific namespace.
- Link: https://lore.kernel.org/all/20250509020238.3378396-1-xiaqinxin@huawei.com/

Changes since V2:
- Address the comments from Barry and ALOK, some commit information and function
  input parameter names are modified to make them more accurate.
- Link: https://lore.kernel.org/all/20250506030100.394376-1-xiaqinxin@huawei.com/

Changes since V1:
- Address the comments from Barry, added some comments and changed the unmap type to void.
- Link: https://lore.kernel.org/lkml/20250212022718.1995504-1-xiaqinxin@huawei.com/


Qinxin Xia (3):
  dma-mapping: benchmark: modify the framework to adapt to more map
    modes
  dma-mapping: benchmark: add support for dma_map_sg
  tools/dma: Add dma_map_sg support

 include/uapi/linux/map_benchmark.h |   9 +-
 kernel/dma/map_benchmark.c         | 245 ++++++++++++++++++++++++++---
 tools/dma/dma_map_benchmark.c      |  23 ++-
 3 files changed, 250 insertions(+), 27 deletions(-)

-- 
2.33.0