Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

tools/virtio: add noring tool

Useful to measure testing framework overhead.

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>

+72 -1
+3 -1
tools/virtio/ringtest/Makefile
··· 1 1 all: 2 2 3 - all: ring virtio_ring_0_9 virtio_ring_poll virtio_ring_inorder 3 + all: ring virtio_ring_0_9 virtio_ring_poll virtio_ring_inorder noring 4 4 5 5 CFLAGS += -Wall 6 6 CFLAGS += -pthread -O2 -ggdb ··· 15 15 virtio_ring_0_9: virtio_ring_0_9.o main.o 16 16 virtio_ring_poll: virtio_ring_poll.o main.o 17 17 virtio_ring_inorder: virtio_ring_inorder.o main.o 18 + noring: noring.o main.o 18 19 clean: 19 20 -rm main.o 20 21 -rm ring.o ring 21 22 -rm virtio_ring_0_9.o virtio_ring_0_9 22 23 -rm virtio_ring_poll.o virtio_ring_poll 23 24 -rm virtio_ring_inorder.o virtio_ring_inorder 25 + -rm noring.o noring 24 26 25 27 .PHONY: all clean
+69
tools/virtio/ringtest/noring.c
··· 1 + #define _GNU_SOURCE 2 + #include "main.h" 3 + #include <assert.h> 4 + 5 + /* stub implementation: useful for measuring overhead */ 6 + void alloc_ring(void) 7 + { 8 + } 9 + 10 + /* guest side */ 11 + int add_inbuf(unsigned len, void *buf, void *datap) 12 + { 13 + return 0; 14 + } 15 + 16 + /* 17 + * skb_array API provides no way for producer to find out whether a given 18 + * buffer was consumed. Our tests merely require that a successful get_buf 19 + * implies that add_inbuf succeed in the past, and that add_inbuf will succeed, 20 + * fake it accordingly. 21 + */ 22 + void *get_buf(unsigned *lenp, void **bufp) 23 + { 24 + return "Buffer"; 25 + } 26 + 27 + void poll_used(void) 28 + { 29 + } 30 + 31 + void disable_call() 32 + { 33 + assert(0); 34 + } 35 + 36 + bool enable_call() 37 + { 38 + assert(0); 39 + } 40 + 41 + void kick_available(void) 42 + { 43 + assert(0); 44 + } 45 + 46 + /* host side */ 47 + void disable_kick() 48 + { 49 + assert(0); 50 + } 51 + 52 + bool enable_kick() 53 + { 54 + assert(0); 55 + } 56 + 57 + void poll_avail(void) 58 + { 59 + } 60 + 61 + bool use_buf(unsigned *lenp, void **bufp) 62 + { 63 + return true; 64 + } 65 + 66 + void call_used(void) 67 + { 68 + assert(0); 69 + }