]>
Commit | Line | Data |
---|---|---|
7c673cae FG |
1 | IOAT Kernel Driver Test Tool |
2 | ============================ | |
3 | ||
4 | For the purpose to make performance comparison with user space IOAT | |
5 | driver, we developed the test tool based on IOAT kernel driver, the | |
6 | test tool contains 2 components: kernel test module and user space | |
7 | application. The kernel test module allocated one kernel thread for | |
8 | each DMA channel, and the kernel thread did not pin to specified | |
9 | CPU cores, but ensure all the thread run in the same NUMA socket | |
10 | with DMA channel, and the user space application communicated | |
11 | with kernel test module via sysfs interface. | |
12 | ||
13 | Building & Usage | |
14 | ================ | |
15 | ||
16 | 1. Compile and load the kernel test module first. | |
17 | ||
18 | modprobe -v ioatdma | |
19 | ./scripts/build_kmod.sh build && insmod dmaperf.ko | |
20 | ||
21 | 2. Run the test application. | |
22 | ||
23 | Parameters: | |
24 | [-h usage] | |
25 | [-n number of DMA channels] | |
26 | [-q queue depth, per DMA channel] | |
27 | [-s [n^2] transfer size, per descriptor] | |
28 | [-t total [n^2] data to tranfer, per DMA channel] | |
29 | ||
30 | For example: ./ioat_kperf -n 4 -q 128 -s 12 -t 32 | |
31 | ||
32 | Total 4 Channels, Queue_Depth 128, Transfer Size 4096 Bytes, Total Transfer Size 4 GB | |
33 | Running I/O . . . . | |
34 | Channel 0 Performance Data 1414 MB/s | |
35 | Channel 1 Performance Data 1413 MB/s | |
36 | Channel 2 Performance Data 1413 MB/s | |
37 | Channel 3 Performance Data 1415 MB/s | |
38 | Total Channel Performance Data 5655 MB/s | |
39 | ||
40 | 3. Cleanup | |
41 | ./scripts/build_kmod.sh clean | |
42 | ||
43 | OS Support | |
44 | ========== | |
45 | We have tested several Linux distributions, currently Fedora 21/22 with kernel | |
46 | version >= 3.17 are supported. |