Bug 1272888 - vhostforce=off control vhost failed when disable msi inside guest
Summary: vhostforce=off control vhost failed when disable msi inside guest
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: qemu-kvm-rhev
Version: 7.2
Hardware: x86_64
OS: Linux
Target Milestone: rc
: ---
Assignee: jason wang
QA Contact: Virtualization Bugs
Depends On:
TreeView+ depends on / blocked
Reported: 2015-10-19 07:22 UTC by weliao
Modified: 2016-03-28 09:47 UTC (History)
8 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Last Closed: 2015-10-22 06:03:27 UTC
Target Upstream Version:

Attachments (Terms of Use)

Description weliao 2015-10-19 07:22:34 UTC
Description of problem:
Launch a guest with vhost=off when disable msi inside guest,vhost process consumes host resource.

Version-Release number of selected component (if applicable):

How reproducible:

Steps to Reproduce:
1.Boot a guest w/ vhost=on and vhostforce=off over virtio-net-pci.
2.Disable msi of guest: add "pci=nomsi" to the kernel cmdline.
3.Transfer file(2Gfile) from guest to host, and check vhost in host.
Guest# scp $file_name root@$host_ip:/home/file_from_guest.
Host#top -p $pid_of_vhost
  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                                                                                                                        
11298 root      20   0       0      0      0 R  7.7  0.0   0:13.49 vhost-11289  
Actual results:
vhost process consumes host resource.

Expected results:
vhost process does not consumes host resource.

Additional info:
/usr/libexec/qemu-kvm -name guest1 -S -machine pc-i440fx-rhel7.2.0,accel=kvm,usb=off,vmport=off \
-cpu SandyBridge -m 4G -realtime mlock=off \
-sandbox off -smp 6 \
-uuid fbf54917-5833-48f2-b3fb-5ce2ad294d93 \
-no-user-config -nodefaults \
-chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/rhel7cp1.0.monitor,server,nowait -mon chardev=charmonitor,id=monitor,mode=control \
-rtc base=utc,driftfix=slew -global kvm-pit.lost_tick_policy=discard \
-no-hpet -no-shutdown -global PIIX4_PM.disable_s3=1 \
-global PIIX4_PM.disable_s4=1 \
-boot menu=on \
-device ich9-usb-ehci1,id=usb,bus=pci.0,addr=0x6.0x7 \
-device ich9-usb-uhci1,masterbus=usb.0,firstport=0,bus=pci.0,multifunction=on,addr=0x6 \
-device ich9-usb-uhci2,masterbus=usb.0,firstport=2,bus=pci.0,addr=0x6.0x1 \
-device ich9-usb-uhci3,masterbus=usb.0,firstport=4,bus=pci.0,addr=0x6.0x2 \
-device virtio-serial-pci,id=virtio-serial0,bus=pci.0,addr=0x5 \
-drive file=iscsi://,snapshot=off,cache=none,if=none,id=drive-virtio-disk0,format=raw \
-iscsi initiator-name=iqn.1994-05.com.redhat:172f21663af5 \
-device virtio-scsi-pci,bus=pci.0,addr=0x7,id=scsi1 \
-device scsi-hd,drive=drive-virtio-disk0,bus=scsi1.0,id=hd1 \
-netdev tap,script=/etc/ovs-ifup,downscript=/etc/ovs-ifdown,id=hostnet0,vhost=on,vhostforce=off \
-device virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:0b:06:82,bus=pci.0,addr=0x3 \
-chardev pty,id=charserial0 -device isa-serial,chardev=charserial0,id=serial0 \
-chardev socket,id=charchannel0,path=/var/lib/libvirt/qemu/channel/target/rhel7cp1.0.org.qemu.guest_agent.0,server,nowait \
-device virtserialport,bus=virtio-serial0.0,nr=1,chardev=charchannel0,id=channel0,name=org.qemu.guest_agent.0 \
-chardev spicevmc,id=charchannel1,name=vdagent \
-device virtserialport,bus=virtio-serial0.0,nr=2,chardev=charchannel1,id=channel1,name=com.redhat.spice.0 \
-device usb-tablet,id=input0 -spice port=5901,disable-ticketing,seamless-migration=on \
-device qxl-vga,id=video0,ram_size=67108864,vram_size=67108864,vgamem_mb=16,bus=pci.0,addr=0x2 \
-device intel-hda,id=sound0,bus=pci.0,addr=0x4 \
-device hda-duplex,id=sound0-codec0,bus=sound0.0,cad=0 \
-chardev spicevmc,id=charredir0,name=usbredir \
-device usb-redir,chardev=charredir0,id=redir0 \
-chardev spicevmc,id=charredir1,name=usbredir \
-device usb-redir,chardev=charredir1,id=redir1 \
-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x8 \
-msg timestamp=on \
-monitor stdio \
-qmp tcp:0:4445,server,nowait

Setting regression as it works with qemu-kvm-rhev-2.3.0-26.el7.x86_64
  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                                                                                                                        
  915 root      20   0       0      0      0 S   0.0  0.0   0:00.00 vhost-905

Note You need to log in before you can comment on or make changes to this bug.