# Overview

NOTE
mrg_rxbuf on vs off on rhel6.1

# Sheet 1: NOTE

1. env information
RHEL6.1 Kernel = 2.6.32-125.el6.x86_64
RHEL6.1 QEMU = qemu-kvm-0.12.1.2-2.152.el6.x86_64
RHEL6.1 Guest kernel = 2.6.32-125.el6.x86_64
Elevator = deadline
Arch = x86_64
Ethernet = direct connect with two 82599ES (10 Gigabit )
Benchmark = netperf
CPU count : speeds MHz = 8 : 8 @ 2395.000
CPU model name = Intel(R) Xeon(R) CPU E5620 @ 2.40GHz
CPU cache size = 12288 KB
BIOS Information Version : Date = 786G5 v03.10 : 07/09/2010
MemTotal = 16057 MB
NUMA is Enabled. # of nodes = 2
2.sheet note :
2.1 as we measure guest generation and consumption capacity.term :
UDP (S) : guest generation capacity under UDP protocol
UDP (R) : guest consumption capacity under UDP protocol
TCP (S) : guest generation capacity under TCP protocol
TCP (R) : guest consumption capacity under TCP protocol
3.test note :
3.1 direct connect with two 82599 10 Gigabit cards.
3.2 the tests were lasted for 30 seconds and results was the average of 3 iterations.
3.3 notune action
3.4 qemu-cil
1) vhost on
/usr/libexec/qemu-kvm -name 'vm1' -chardev socket,id=qmp_monitor_GAX2,path=/tmp/monitor-qmpmonitor1-20110329-063147-s9qC,server,nowait -mon chardev=qmp_monitor_GAX2,mode=control -chardev socket,id=serial_4p2z,path=/tmp/serial-20110329-063147-s9qC,server,nowait -device isa-serial,chardev=serial_4p2z -drive file='/home/kvm_autotest_root/images/RHEL-Server-6.1-64-virtio.raw',index=0,if=none,id=drive-virtio-disk1,media=disk,cache=cache,format=raw,aio=native -device virtio-blk-pci,bus=pci.0,addr=0x4,drive=drive-virtio-disk1,id=virtio-disk1 -device virtio-net-pci,mrg_rxbuf=on,netdev=hostnet0,id=net0,mac=52:54:00:13:01:d6,bus=pci.0,addr=0x3 -netdev tap,id=hostnet0,vhost=on -m 4096 -smp 2,cores=1,threads=1,sockets=2 -cpu cpu64-rhel6,+sse2,+x2apic -vnc :0 -vga qxl -rtc base=utc,clock=host,driftfix=none -M rhel6.1.0 -boot order=cdn,once=c,menu=off -usbdevice tablet -no-kvm-pit-reinjection -enable-kvm
2) vhost on with mrg_rxbuf=off
/usr/libexec/qemu-kvm -name 'vm1' -chardev socket,id=qmp_monitor_GAX2,path=/tmp/monitor-qmpmonitor1-20110329-063147-s9qC,server,nowait -mon chardev=qmp_monitor_GAX2,mode=control -chardev socket,id=serial_4p2z,path=/tmp/serial-20110329-063147-s9qC,server,nowait -device isa-serial,chardev=serial_4p2z -drive file='/home/kvm_autotest_root/images/RHEL-Server-6.1-64-virtio.raw',index=0,if=none,id=drive-virtio-disk1,media=disk,cache=cache,format=raw,aio=native -device virtio-blk-pci,bus=pci.0,addr=0x4,drive=drive-virtio-disk1,id=virtio-disk1 -device virtio-net-pci,mrg_rxbuf=off,netdev=hostnet0,id=net0,mac=52:54:00:13:01:d6,bus=pci.0,addr=0x3 -netdev tap,id=hostnet0,vhost=on -m 4096 -smp 2,cores=1,threads=1,sockets=2 -cpu cpu64-rhel6,+sse2,+x2apic -vnc :0 -vga qxl -rtc base=utc,clock=host,driftfix=none -M rhel6.1.0 -boot order=cdn,once=c,menu=off -usbdevice tablet -no-kvm-pit-reinjection -enable-kvm
3.5 netperf scripts
netperf -C -c -H $netser_ip -P 0 -l 30 -t $protocol -- -m $packet_size

# Sheet 2: mrg_rxbuf on vs off on rhel6.1

Host->guest
Size-protocol | 6.1 vhost_on_rxbuf_off | 6.1 vhost_on_rxbuf_on | improvement(%)
32 – UDP(R) | 5.67 | 24.47 | 331.75%
64 – UDP(R) | 12.33 | 39.37 | 219.20%
128 – UDP(R) | 11.5 | 42.43 | 268.98%
256 – UDP(R) | 12.6 | 73.73 | 485.18%
512 – UDP(R) | 18.27 | 199.8 | 993.78%
1024 – UDP(R) | 59.9 | 240.23 | 301.06%
1460 – UDP(R) | 71.47 | 479.43 | 570.85%
2048 – UDP(R) | 765.43 | 691.73 | -9.63%
4096 – UDP(R) | 1179.9 | 1775.03 | 50.44%
8192 – UDP(R) | 3115.6 | 4667.67 | 49.82%
9000 – UDP(R) | 4018.3 | 4931.5 | 22.73%
16834 – UDP(R) | 7452.5 | 5808.2 | -22.06%
32768 – UDP(R) | 12718.23 | 11790.53 | -7.29%
65495 – UDP(R) | 9940.07 | 11273.03 | 13.41%
65507 – UDP(R) | 10266.3 | 10833.87 | 5.53%
32 – TCP(R) | 463.37 | 450.95 | -2.68%
64 – TCP(R) | 846.77 | 816.44 | -3.58%
128 – TCP(R) | 1390.74 | 1383.19 | -0.54%
256 – TCP(R) | 2557.36 | 2170.55 | -15.13%
512 – TCP(R) | 5114.73 | 3721.26 | -27.24%
1024 – TCP(R) | 7802.25 | 7353.39 | -5.75%
1460 – TCP(R) | 10797.84 | 8358.55 | -22.59%
2048 – TCP(R) | 11241.78 | 6136.96 | -45.41%
4096 – TCP(R) | 15467.63 | 13718.26 | -11.31%
8192 – TCP(R) | 15703.01 | 16195.29 | 3.13%
9000 – TCP(R) | 15251.24 | 15646.09 | 2.59%
16834 – TCP(R) | 15457.34 | 16342.02 | 5.72%
32768 – TCP(R) | 16043.29 | 16850.69 | 5.03%
65495 – TCP(R) | 15988.36 | 16559.99 | 3.58%
65507 – TCP(R) | 15683.82 | 17263.7 | 10.07%