Bug 605591

Summary: virtio: Remove net-specific PUBLISH_USED reporting
Product: Red Hat Enterprise Linux 6 Reporter: Amit Shah <amit.shah>
Component: kernelAssignee: Amit Shah <amit.shah>
Status: CLOSED CURRENTRELEASE QA Contact: Virtualization Bugs <virt-bugs>
Severity: medium Docs Contact:
Priority: low    
Version: 6.0CC: arozansk, szhou, virt-maint
Target Milestone: rc   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2010-11-11 16:10:14 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Amit Shah 2010-06-18 10:49:38 UTC
Description of problem:

The patch that enabled PUBLISH_USED reporting for virtio-net inadvertently enabled it for all virtio devices.

At the time, only virtio-net was supposed to enable this feature because the performance impact on the other virtio drivers wasn't measured. Tests now show reduced vmexits with virtio-blk. There's no perf. regression for virtio-console either.

Just remove the virtio-net specific enabling of the feature since that code is not used anyway.

The previous work was done in bug 593158
Host-side enabling of the PUBLISH_USED feature is done as part of bug 602417

Comment 2 RHEL Program Management 2010-06-18 11:16:35 UTC
This request was evaluated by Red Hat Product Management for inclusion in a Red
Hat Enterprise Linux major release.  Product Management has requested further
review of this request by Red Hat Engineering, for potential inclusion in a Red
Hat Enterprise Linux Major release.  This request is not yet committed for
inclusion.

Comment 3 RHEL Program Management 2010-06-18 11:18:41 UTC
This request was evaluated by Red Hat Product Management for inclusion in a Red
Hat Enterprise Linux major release.  Product Management has requested further
review of this request by Red Hat Engineering, for potential inclusion in a Red
Hat Enterprise Linux Major release.  This request is not yet committed for
inclusion.

Comment 4 RHEL Program Management 2010-06-18 11:20:56 UTC
This request was evaluated by Red Hat Product Management for inclusion in a Red
Hat Enterprise Linux major release.  Product Management has requested further
review of this request by Red Hat Engineering, for potential inclusion in a Red
Hat Enterprise Linux Major release.  This request is not yet committed for
inclusion.

Comment 5 Aristeu Rozanski 2010-06-24 23:12:06 UTC
Patch submitted to the list, moving to POST.

Comment 6 Aristeu Rozanski 2010-07-01 16:23:49 UTC
Patch(es) available on kernel-2.6.32-42.el6

Comment 9 Shirley Zhou 2010-08-11 10:26:01 UTC
Compared Guest's I/O and virtio-console perf between kernel-2.6.32-37.el6.x86_64 and kernel-2.6.32-59.el6.x86_64 as following:
CLI: /usr/libexec/qemu-kvm -m 4G -smp 2 -cpu qemu64,+x2apic -usbdevice tablet -drive file=/home/rhel6.img,if=none,id=drive-virtio0,boot=on,werror=stop,rerror=stop,cache=none,format=raw -device virtio-blk-pci,drive=drive-virtio0,id=virtio-blk-pci0 -netdev tap,id=hostnet0,script=/etc/qemu-ifup,vhost=on,ifname=virtio_nic_2 -device virtio-net-pci,netdev=hostnet0,mac=00:12:43:3F:40:aa,bus=pci.0,id=virtio1,addr=0x5 -uuid a234127c-8765-1234-95da-1dd0a8891cc4 -name 37-145 -qmp tcp:0:4446,server,nowait -device virtio-balloon-pci,id=ba1 -monitor stdio -vnc :1 -boot c -device virtio-serial-pci,id=virtio-serial0,max_ports=16,vectors=4,bus=pci.0 -chardev socket,id=channel0,path=/var/lib/libvirt/qemu/rhel6.channel0,server,nowait -device virtserialport,chardev=channel0,name=org.linux-kvm.port.0,bus=virtio-serial0.0,id=port0

1. virtio-console:

read:
Host:#dd if=/dev/sda bs=1M count=2024 | nc -U /var/lib/libvirt/qemu/rhel6.channel0
Guest:#time cat /dev/vport0p1 > 2G

kernel-2.6.32-37                 kernel-2.6.32-59                        
real : 0m27.7335s                real : 0m22.200s
user : 0m0.275s                  user : 0m0.202s
sys  : 0m16.3185s                sys  : 0m16.880

write:
Guest:#dd if=2G  of=/dev/vport0p1
Host:#time nc -U /var/lib/libvirt/qemu/rhel6.channel0 > 2G

kernel-2.6.32-37.el6.x86_64      kernel-2.6.32-59.el6.x86_64  
real : 1m21.117s                 real : 1m1.672s
user : 0m0.529s                  user : 0m0.880s
sys  : 0m32.029s                 sys  : 0m28.513s

2. virtio block
#iozone -az -n 4g -g 4g -r 64k -i 0 -i 1 -b test

kernel-2.6.32-37.el6.x86_64      kernel-2.6.32-59.el6.x86_64  
"Writer report"    136739         131388

"Re-writer report" 135764         130315

"Reader report"    122780         122771       

"Re-Reader report" 124329         135788

Above all ,after remove net-specific PUBLISH_USED,the virtio console and block I/O can use successfully, and the performance of block I/O and virtio console were not getting worse.

Change status to verified.

Comment 10 releng-rhel@redhat.com 2010-11-11 16:10:14 UTC
Red Hat Enterprise Linux 6.0 is now available and should resolve
the problem described in this bug report. This report is therefore being closed
with a resolution of CURRENTRELEASE. You may reopen this bug report if the
solution does not work for you.