Change-Id: If45a7fd3d6d3a7a52e71595de32ea4cf04e23d36 Signed-off-by: Changpeng Liu <changpeng.liu@intel.com>
47 lines
1.5 KiB
Plaintext
47 lines
1.5 KiB
Plaintext
IOAT Kernel Driver Test Tool
|
|
============================
|
|
|
|
For the purpose to make performance comparison with user space IOAT
|
|
driver, we developed the test tool based on IOAT kernel driver, the
|
|
test tool contains 2 components: kernel test module and user space
|
|
application. The kernel test module allocated one kernel thread for
|
|
each DMA channel, and the kernel thread did not pin to specified
|
|
CPU cores, but ensure all the thread run in the same NUMA socket
|
|
with DMA channel, and the user space application communicated
|
|
with kernel test module via sysfs interface.
|
|
|
|
Building & Usage
|
|
================
|
|
|
|
1. Compile and load the kernel test module first.
|
|
|
|
modprobe -v ioatdma
|
|
./scripts/build_kmod.sh build && insmod dmaperf.ko
|
|
|
|
2. Run the test application.
|
|
|
|
Parameters:
|
|
[-h usage]
|
|
[-n number of DMA channels]
|
|
[-q queue depth, per DMA channel]
|
|
[-s [n^2] transfer size, per descriptor]
|
|
[-t total [n^2] data to tranfer, per DMA channel]
|
|
|
|
For example: ./ioat_kperf -n 4 -q 128 -s 12 -t 32
|
|
|
|
Total 4 Channels, Queue_Depth 128, Transfer Size 4096 Bytes, Total Transfer Size 4 GB
|
|
Running I/O . . . .
|
|
Channel 0 Performance Data 1414 MB/s
|
|
Channel 1 Performance Data 1413 MB/s
|
|
Channel 2 Performance Data 1413 MB/s
|
|
Channel 3 Performance Data 1415 MB/s
|
|
Total Channel Performance Data 5655 MB/s
|
|
|
|
3. Cleanup
|
|
./scripts/build_kmod.sh clean
|
|
|
|
OS Support
|
|
==========
|
|
We have tested several Linux distributions, currently Fedora 21/22 with kernel
|
|
version >= 3.17 are supported.
|