OpenCloudOS-Kernel/tools/testing/selftests/dma
Barry Song 9dc00b25ea dma-mapping: benchmark: pretend DMA is transmitting
In a real dma mapping user case, after dma_map is done, data will be
transmit. Thus, in multi-threaded user scenario, IOMMU contention
should not be that severe. For example, if users enable multiple
threads to send network packets through 1G/10G/100Gbps NIC, usually
the steps will be: map -> transmission -> unmap.  Transmission delay
reduces the contention of IOMMU.

Here a delay is added to simulate the transmission between map and unmap
so that the tested result could be more accurate for TX and simple RX.
A typical TX transmission for NIC would be like: map -> TX -> unmap
since the socket buffers come from OS. Simple RX model eg. disk driver,
is also map -> RX -> unmap, but real RX model in a NIC could be more
complicated considering packets can come spontaneously and many drivers
are using pre-mapped buffers pool. This is in the TBD list.

Signed-off-by: Barry Song <song.bao.hua@hisilicon.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
2021-02-05 12:48:46 +01:00
..
Makefile selftests/dma: add test application for DMA_MAP_BENCHMARK 2020-11-27 10:33:42 +01:00
config selftests/dma: add test application for DMA_MAP_BENCHMARK 2020-11-27 10:33:42 +01:00
dma_map_benchmark.c dma-mapping: benchmark: pretend DMA is transmitting 2021-02-05 12:48:46 +01:00