]> git.proxmox.com Git - ceph.git/blob - ceph/src/spdk/examples/ioat/kperf/README
add subtree-ish sources for 12.0.3
[ceph.git] / ceph / src / spdk / examples / ioat / kperf / README
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.