summary refs log tree commit diff stats
path: root/results/classifier/deepseek-2/output/network/597351
diff options
context:
space:
mode:
Diffstat (limited to 'results/classifier/deepseek-2/output/network/597351')
-rw-r--r--results/classifier/deepseek-2/output/network/59735131
1 files changed, 31 insertions, 0 deletions
diff --git a/results/classifier/deepseek-2/output/network/597351 b/results/classifier/deepseek-2/output/network/597351
new file mode 100644
index 000000000..9d80328ca
--- /dev/null
+++ b/results/classifier/deepseek-2/output/network/597351
@@ -0,0 +1,31 @@
+
+Slow UDP performance with virtio device
+
+I'm working on an app that is very sensitive to round-trip latency
+between the guest and host, and qemu/kvm seems to be significantly
+slower than it needs to be.
+
+The attached program is a ping/pong over UDP.  Call it with a single
+argument to start a listener/echo server on that port.  With three
+arguments it becomes a counted "pinger" that will exit after a
+specified number of round trips for performance measurements.  For
+example:
+
+  $ gcc -o udp-pong udp-pong.c
+  $ ./udp-pong 12345 &                       # start a listener on port 12345
+  $ time ./udp-pong 127.0.0.1 12345 1000000  # time a million round trips
+
+When run on the loopback device on a single machine (true on the host
+or within a guest), I get about 100k/s.
+
+When run across a port forward using "user" networking on qemu (or
+kvm, the performance is the same) and the default rtl8139 driver (both
+the host and guest are Ubuntu Lucid), I get about 10k/s.  This seems
+very slow, but perhaps unavoidably so?
+
+When run in the same configuration using the "virtio" driver, I get
+only 2k/s.  This is almost certainly a bug in the virtio driver, given
+that it's a paravirtualized device that is 5x slower than the "slow"
+hardware emulation.
+
+I get no meaningful change in performance between kvm/qemu.
\ No newline at end of file