Name | Size | Last modified (GMT) | Description | |
Parent directory | 2024-10-29 14:06:28 | |||
Makefile | 1102 bytes | 2024-10-29 14:06:28 | ||
README | 2421 bytes | 2024-10-29 14:06:28 | ||
control.c | 4815 bytes | 2024-10-29 14:06:28 | ||
control.h | 495 bytes | 2024-10-29 14:06:28 | ||
msg_zerocopy_common.c | 2008 bytes | 2024-10-29 14:06:28 | ||
msg_zerocopy_common.h | 358 bytes | 2024-10-29 14:06:28 | ||
timeout.c | 1284 bytes | 2024-10-29 14:06:28 | ||
timeout.h | 301 bytes | 2024-10-29 14:06:28 | ||
util.c | 13751 bytes | 2024-10-29 14:06:28 | ||
util.h | 2356 bytes | 2024-10-29 14:06:28 | ||
vsock_diag_test.c | 11934 bytes | 2024-10-29 14:06:28 | ||
vsock_perf.c | 10284 bytes | 2024-10-29 14:06:28 | ||
vsock_test.c | 37109 bytes | 2024-10-29 14:06:28 | ||
vsock_test_zerocopy.c | 7658 bytes | 2024-10-29 14:06:28 | ||
vsock_test_zerocopy.h | 573 bytes | 2024-10-29 14:06:28 | ||
vsock_uring_test.c | 7709 bytes | 2024-10-29 14:06:28 |
1 AF_VSOCK test suite 2 ------------------- 3 These tests exercise net/vmw_vsock/ host<->guest sockets for VMware, KVM, and 4 Hyper-V. 5 6 The following tests are available: 7 8 * vsock_test - core AF_VSOCK socket functionality 9 * vsock_diag_test - vsock_diag.ko module for listing open sockets 10 11 The following prerequisite steps are not automated and must be performed prior 12 to running tests: 13 14 1. Build the kernel, make headers_install, and build these tests. 15 2. Install the kernel and tests on the host. 16 3. Install the kernel and tests inside the guest. 17 4. Boot the guest and ensure that the AF_VSOCK transport is enabled. 18 19 Invoke test binaries in both directions as follows: 20 21 # host=server, guest=client 22 (host)# $TEST_BINARY --mode=server \ 23 --control-port=1234 \ 24 --peer-cid=3 25 (guest)# $TEST_BINARY --mode=client \ 26 --control-host=$HOST_IP \ 27 --control-port=1234 \ 28 --peer-cid=2 29 30 # host=client, guest=server 31 (guest)# $TEST_BINARY --mode=server \ 32 --control-port=1234 \ 33 --peer-cid=2 34 (host)# $TEST_BINARY --mode=client \ 35 --control-port=$GUEST_IP \ 36 --control-port=1234 \ 37 --peer-cid=3 38 39 vsock_perf utility 40 ------------------- 41 'vsock_perf' is a simple tool to measure vsock performance. It works in 42 sender/receiver modes: sender connect to peer at the specified port and 43 starts data transmission to the receiver. After data processing is done, 44 it prints several metrics(see below). 45 46 Usage: 47 # run as sender 48 # connect to CID 2, port 1234, send 1G of data, tx buf size is 1M 49 ./vsock_perf --sender 2 --port 1234 --bytes 1G --buf-size 1M 50 51 Output: 52 tx performance: A Gbits/s 53 54 Output explanation: 55 A is calculated as "number of bits to send" / "time in tx loop" 56 57 # run as receiver 58 # listen port 1234, rx buf size is 1M, socket buf size is 1G, SO_RCVLOWAT is 64K 59 ./vsock_perf --port 1234 --buf-size 1M --vsk-size 1G --rcvlowat 64K 60 61 Output: 62 rx performance: A Gbits/s 63 total in 'read()': B sec 64 POLLIN wakeups: C 65 average in 'read()': D ns 66 67 Output explanation: 68 A is calculated as "number of received bits" / "time in rx loop". 69 B is time, spent in 'read()' system call(excluding 'poll()') 70 C is number of 'poll()' wake ups with POLLIN bit set. 71 D is B / C, e.g. average amount of time, spent in single 'read()'.
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.