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%