summaryrefslogtreecommitdiffstats
path: root/tools/virtio/linux
Commit message (Collapse)AuthorAgeFilesLines
* tools/virtio: move module license stub to module.hMichael S. Tsirkin2013-07-092-3/+5
| | | | | | | | | | | | | | This fixes build for the vringh test: [linux]$ make -C tools/virtio/ make: Entering directory `/home/mst/scm/linux/tools/virtio' cc -g -O2 -Wall -I. -I ../../usr/include/ -Wno-pointer-sign -fno-strict-overflow -fno-strict-aliasing -fno-common -MMD -U_FORTIFY_SOURCE -c -o vringh.o ../../drivers/vhost/vringh.c ../../drivers/vhost/vringh.c:1010:16: error: expected declaration specifiers or ‘...’ before string constant Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
* tools/virtio: remove virtqueue_add_buf() from tests.Rusty Russell2013-03-201-7/+0
| | | | | | Make the rest of the paths use virtqueue_add_sgs or add_outbuf. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
* tools/virtio: make vringh_test use inbuf/outbuf.Rusty Russell2013-03-201-0/+10
| | | | | | | | | | | | | | | | | | | | As expected, the simplified accessors are faster. for i in `seq 50`; do /usr/bin/time -f 'Wall time:%e' ./vringh_test --indirect --eventidx --parallel --fast-vringh; done 2>&1 | stats --trim-outliers: Before: Using CPUS 0 and 3 Guest: notified 0, pinged 39062-39063(39063) Host: notified 39062-39063(39063), pinged 0 Wall time:1.760000-2.220000(1.789167) After: Using CPUS 0 and 3 Guest: notified 0, pinged 39037-39063(39062) Host: notified 39037-39063(39062), pinged 0 Wall time:1.640000-1.810000(1.676875) Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
* virtio_ring: virtqueue_add_sgs, to add multiple sgs.Rusty Russell2013-03-202-0/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | virtio_scsi can really use this, to avoid the current hack of copying the whole sg array. Some other things get slightly neater, too. This causes a slowdown in virtqueue_add_buf(), which is implemented as a wrapper. This is addressed in the next patches. for i in `seq 50`; do /usr/bin/time -f 'Wall time:%e' ./vringh_test --indirect --eventidx --parallel --fast-vringh; done 2>&1 | stats --trim-outliers: Before: Using CPUS 0 and 3 Guest: notified 0, pinged 39009-39063(39062) Host: notified 39009-39063(39062), pinged 0 Wall time:1.700000-1.950000(1.723542) After: Using CPUS 0 and 3 Guest: notified 0, pinged 39062-39063(39063) Host: notified 39062-39063(39063), pinged 0 Wall time:1.760000-2.220000(1.789167) Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> Reviewed-by: Wanlong Gao <gaowanlong@cn.fujitsu.com> Reviewed-by: Asias He <asias@redhat.com>
* tools/virtio: add vring_test.Rusty Russell2013-03-201-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is mainly to test the drivers/vhost/vringh.c code, but it also uses the drivers/virtio/virtio_ring.c code for the guest side. Usage for testing the basic implementation: ./vringh_test # Test with indirect descriptors ./vringh_test --indirect # Test with indirect descriptors and event indexex ./vringh_test --indirect --eventidx You can run a parallel stress test by adding --parallel to any of the above options. eg ./vringh_test --parallel: Using CPUS 0 and 3 Guest: notified 10107974, pinged 107970 Host: notified 108158, pinged 3172148 ./vringh_test --indirect --eventidx --parallel: Using CPUS 0 and 3 Guest: notified 156357, pinged 156251 Host: notified 156251, pinged 78179 Average of 50 times doing ./vringh_test --indirect --eventidx --parallel: 2.840000-3.040000(2.927292)user Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
* tools/virtio: separate headers more.Rusty Russell2013-03-2016-147/+426
| | | | | | | | | | This makes them a bit more like the kernel headers, so we can include more real kernel headers in our tests. In addition this means that we don't break tools/virtio with the next patch. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
* tools/virtio: fix build for 3.8Michael S. Tsirkin2013-03-201-1/+6
| | | | | Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
* virtio/tools: add delayed interupt modeMichael S. Tsirkin2012-05-021-0/+1
| | | | Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
* tools/virtio: stub out strong barriersMichael S. Tsirkin2012-02-281-0/+3
| | | | | | The tool should never use them, abort if it does. Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
* tools/virtio: add linux/hrtimer.h stubMichael S. Tsirkin2012-02-281-0/+0
| | | | | | Make tool build after virtio changes broke it. Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
* tools/virtio: add linux/module.h stubMichael S. Tsirkin2012-02-281-0/+0
| | | | | | Make the tool build again after virtio changes broke it. Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
* virtio: rename virtqueue_add_buf_gfp to virtqueue_add_bufRusty Russell2012-01-121-15/+6
| | | | | | | | | Remove wrapper functions. This makes the allocation type explicit in all callers; I used GPF_KERNEL where it seemed obvious, left it at GFP_ATOMIC otherwise. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> Reviewed-by: Christoph Hellwig <hch@lst.de>
* virtio: harsher barriers for rpmsg.Rusty Russell2012-01-121-0/+1
| | | | | | | | | | | | | | | | | | We were cheating with our barriers; using the smp ones rather than the real device ones. That was fine, until rpmsg came along, which is used to talk to a real device (a non-SMP CPU). Unfortunately, just putting back the real barriers (reverting d57ed95d) causes a performance regression on virtio-pci. In particular, Amos reports netbench's TCP_RR over virtio_net CPU utilization increased up to 35% while throughput went down by up to 14%. By comparison, this branch is in the noise. Reference: https://lkml.org/lkml/2011/12/11/22 Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
* tools/virtio: virtio_test toolMichael S. Tsirkin2010-12-093-0/+227
This is the userspace part of the tool: it includes a bunch of stubs for linux APIs, somewhat simular to linuxsched. This makes it possible to recompile the ring code in userspace. A small test example is implemented combining this with vhost_test module. Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
OpenPOWER on IntegriCloud