You are not logged in.

#5626 2015-07-15 11:59:10

dRaiser
Member
From: Poland
Registered: 2013-05-20
Posts: 51
Website

Re: KVM VGA-Passthrough using the new vfio-vga support in kernel =>3.9

Hi, how hard and/or unrealistic would be to run program with second GPU (bound to vfio) on host, when it's not used by any VM? I'm thinking of approach similar to bumblebe. Is it possible at all? I assume it would need to detach GPU from vfio, run app using it (not leaving host X server), attach to vfio again.

I was planning to set up second machine (aside from Windows one) with Linux, but it's giving me hell. With nearly same config as Windows one. Installed everything, it's using dedicated Nvidia 960, but with low res and disabled OpenGL on Nouveau and with "nvidia gpu at pci:0:8:0 is not supported by NVIDIA driver" with Nvidia binary. I'd like to run some GPU-heavy apps on this dedicated GPU.

I was posting my config some time ago, but just as reminder. It's running perfectly with Windows guest.

<domain type='kvm' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>
  <name>wintendo</name>
  <uuid>bf6bda0e-2664-4bab-998a-aac4dc255c83</uuid>
  <memory unit='KiB'>3145728</memory>
  <currentMemory unit='KiB'>3145728</currentMemory>
  <vcpu placement='static'>4</vcpu>
  <os>
    <type arch='x86_64' machine='pc-i440fx-2.1'>hvm</type>
    <boot dev='hd'/>
  </os>
  <features>
    <acpi/>
    <apic/>
    <pae/>
    <hyperv>
      <relaxed state='off'/>
      <vapic state='off'/>
      <spinlocks state='off'/>
    </hyperv>
    <kvm>
      <hidden state='on'/>
    </kvm>
  </features>
  <cpu mode='host-model'>
    <model fallback='allow'/>
    <topology sockets='1' cores='4' threads='1'/>
  </cpu>
  <clock offset='localtime'>
    <timer name='rtc' tickpolicy='catchup'/>
    <timer name='pit' tickpolicy='delay'/>
    <timer name='hpet' present='no'/>
    <timer name='hypervclock' present='no'/>
  </clock>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>restart</on_crash>
  <pm>
    <suspend-to-mem enabled='no'/>
    <suspend-to-disk enabled='no'/>
  </pm>
  <devices>
    <emulator>/usr/sbin/qemu-system-x86_64</emulator>
    <disk type='block' device='cdrom'>
      <driver name='qemu' type='raw'/>
      <source dev='/dev/sr0'/>
      <target dev='hdb' bus='ide'/>
      <readonly/>
      <address type='drive' controller='0' bus='0' target='0' unit='1'/>
    </disk>
    <disk type='file' device='disk'>
      <driver name='qemu' type='raw'/>
      <source file='/mnt/d2/50.raw'/>
      <target dev='vdd' bus='virtio'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x0a' function='0x0'/>
    </disk>
    <disk type='file' device='disk'>
      <driver name='qemu' type='raw'/>
      <source file='/mnt/d2/d2.img'/>
      <target dev='vde' bus='virtio'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x09' function='0x0'/>
    </disk>
    <controller type='usb' index='0' model='ich9-ehci1'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x7'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci1'>
      <master startport='0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0' multifunction='on'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci2'>
      <master startport='2'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x1'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci3'>
      <master startport='4'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x2'/>
    </controller>
    <controller type='pci' index='0' model='pci-root'/>
    <controller type='ide' index='0'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
    </controller>
    <controller type='virtio-serial' index='0'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
    </controller>
    <interface type='bridge'>
      <mac address='52:54:00:17:65:a1'/>
      <source bridge='br0'/>
      <model type='rtl8139'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
    </interface>
    <serial type='pty'>
      <target port='0'/>
    </serial>
    <console type='pty'>
      <target type='serial' port='0'/>
    </console>
    <channel type='spicevmc'>
      <target type='virtio' name='com.redhat.spice.0'/>
      <address type='virtio-serial' controller='0' bus='0' port='1'/>
    </channel>
    <input type='tablet' bus='usb'/>
    <hostdev mode='subsystem' type='pci' managed='yes'>
      <source>
        <address domain='0x0000' bus='0x00' slot='0x1b' function='0x0'/>
      </source>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x0b' function='0x0'/>
    </hostdev>
    <hostdev mode='subsystem' type='usb' managed='yes'>
      <source>
        <vendor id='0x1532'/>
        <product id='0x0016'/>
      </source>
    </hostdev>
    <hostdev mode='subsystem' type='pci' managed='yes'>
      <source>
        <address domain='0x0000' bus='0x02' slot='0x00' function='0x1'/>
      </source>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
    </hostdev>
    <redirdev bus='usb' type='spicevmc'>
    </redirdev>
    <redirdev bus='usb' type='spicevmc'>
    </redirdev>
    <redirdev bus='usb' type='spicevmc'>
    </redirdev>
    <redirdev bus='usb' type='spicevmc'>
    </redirdev>
    <memballoon model='virtio'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/>
    </memballoon>
  </devices>
  <qemu:commandline>
    <qemu:arg value='-device'/>
    <qemu:arg value='vfio-pci,host=02:00.0,multifunction=on,x-vga=on'/>
  </qemu:commandline>
</domain>

Offline

#5627 2015-07-15 13:22:54

Denso
Member
Registered: 2014-08-30
Posts: 179

Re: KVM VGA-Passthrough using the new vfio-vga support in kernel =>3.9

Bronek wrote:
Denso wrote:

@ Well , that is strange . "options vfio-pci ids=" didn't work on both of my NVIDIAs until I added pci-stub to the top of the boot chain . Anyway it is working like a charm now and I can finally get rid of the vfio-bind script .

@Denso could it be that, when pci-stub is not loaded, noveau driver loaded/probed your card thus preventing vfio-pci from working correctly, and loading pci-stub prevents this from happening (as is its purpose)?

That's not possible . I'm not using pci-stub in any shape or form . Not in the boot loader config files or any other place , I just added it to the modules to be loaded automatically at boot .

I am blacklisting nouveau from the begining so it is not the issue , and when I do lspci -k , there is no driver attached to these cards at all .

I believe Alex said that vfio-pci ids have similar code to pci-stub ids . Maybe vfio-pci "thinks" that pci-stub is ALWAYS built statically , which is not the case on Arch .

Offline

#5628 2015-07-15 15:45:59

tuxuser
Member
Registered: 2014-08-23
Posts: 8

Re: KVM VGA-Passthrough using the new vfio-vga support in kernel =>3.9

I upgraded my video card to nvidia gtx 970 which pushed me to upgrade the drivers -- now getting error code 43.

I tried -cpu host,hv_time,kvm=off but looks like I need to add more hv_ options, just not sure what all needs to be added.

I don't use libvirt so does anyone mind posting your kvm command line -cpu parameters?

Thanks.

Offline

#5629 2015-07-15 15:47:29

aw
Member
Registered: 2013-10-04
Posts: 921
Website

Re: KVM VGA-Passthrough using the new vfio-vga support in kernel =>3.9

tuxuser wrote:

I upgraded my video card to nvidia gtx 970 which pushed me to upgrade the drivers -- now getting error code 43.

I tried -cpu host,hv_time,kvm=off but looks like I need to add more hv_ options, just not sure what all needs to be added.

I don't use libvirt so does anyone mind posting your kvm command line -cpu parameters?

Thanks.

Remove hv_ option, not add


http://vfio.blogspot.com
Looking for a more open forum to discuss vfio related uses?  Try https://www.redhat.com/mailman/listinfo/vfio-users

Offline

#5630 2015-07-15 16:05:47

tuxuser
Member
Registered: 2014-08-23
Posts: 8

Re: KVM VGA-Passthrough using the new vfio-vga support in kernel =>3.9

aw wrote:
tuxuser wrote:

I upgraded my video card to nvidia gtx 970 which pushed me to upgrade the drivers -- now getting error code 43.

I tried -cpu host,hv_time,kvm=off but looks like I need to add more hv_ options, just not sure what all needs to be added.

I don't use libvirt so does anyone mind posting your kvm command line -cpu parameters?

Thanks.

Remove hv_ option, not add

I meant to type hv_time=off above.   My assumption had been, per recent discussions, that one these options might be defaulting to on when not specified.  I'll recheck this tonight starting with only -cpu host,kvm=off and moving onward

These are the options I know of hv_time hv_relaxed hv_vapic hv_spinlocks (though i don't know of a proper value for hv_spinlocks so i assume this would be disabled by default)

Offline

#5631 2015-07-16 04:18:34

Denso
Member
Registered: 2014-08-30
Posts: 179

Re: KVM VGA-Passthrough using the new vfio-vga support in kernel =>3.9

Windows 10 + OVMF + virtio-blk-pci is a no-go .

It always throws a BSOD in the installation stage (kmode_exception_not_handled) .

I've tried using 3 different builds (10041 , 10074 , 10240) all BSOD at the same spot with the same error .

dmesg throws tons of these :

[Thu Jul 16 07:10:04 2015] kvm_get_msr_common: 5728 callbacks suppressed
[Thu Jul 16 07:10:04 2015] kvm [31145]: vcpu1 ignored rdmsr: 0x309
[Thu Jul 16 07:10:04 2015] kvm [31145]: vcpu1 ignored rdmsr: 0x30a
[Thu Jul 16 07:10:04 2015] kvm [31145]: vcpu1 ignored rdmsr: 0x30b
[Thu Jul 16 07:10:04 2015] kvm [31145]: vcpu1 ignored rdmsr: 0x309
[Thu Jul 16 07:10:04 2015] kvm [31145]: vcpu1 ignored rdmsr: 0x30a
[Thu Jul 16 07:10:04 2015] kvm [31145]: vcpu1 ignored rdmsr: 0x30b
[Thu Jul 16 07:10:04 2015] kvm [31145]: vcpu1 ignored rdmsr: 0x309
[Thu Jul 16 07:10:04 2015] kvm [31145]: vcpu1 ignored rdmsr: 0x30a
[Thu Jul 16 07:10:04 2015] kvm [31145]: vcpu1 ignored rdmsr: 0x30b
[Thu Jul 16 07:10:04 2015] kvm [31145]: vcpu0 ignored rdmsr: 0x309
[Thu Jul 16 07:10:09 2015] kvm_get_msr_common: 9839 callbacks suppressed
[Thu Jul 16 07:10:09 2015] kvm [31145]: vcpu1 ignored rdmsr: 0x309
[Thu Jul 16 07:10:09 2015] kvm [31145]: vcpu1 ignored rdmsr: 0x30a
[Thu Jul 16 07:10:09 2015] kvm [31145]: vcpu1 ignored rdmsr: 0x30b
[Thu Jul 16 07:10:09 2015] kvm [31145]: vcpu0 ignored rdmsr: 0x309
[Thu Jul 16 07:10:09 2015] kvm [31145]: vcpu0 ignored rdmsr: 0x30a
[Thu Jul 16 07:10:09 2015] kvm [31145]: vcpu0 ignored rdmsr: 0x30b
[Thu Jul 16 07:10:09 2015] kvm [31145]: vcpu0 ignored rdmsr: 0x309
[Thu Jul 16 07:10:09 2015] kvm [31145]: vcpu0 ignored rdmsr: 0x30a
[Thu Jul 16 07:10:09 2015] kvm [31145]: vcpu0 ignored rdmsr: 0x30b
[Thu Jul 16 07:10:09 2015] kvm [31145]: vcpu0 ignored rdmsr: 0x309
[Thu Jul 16 07:10:14 2015] kvm_get_msr_common: 6502 callbacks suppressed
[Thu Jul 16 07:10:14 2015] kvm [31145]: vcpu0 ignored rdmsr: 0x309
[Thu Jul 16 07:10:14 2015] kvm [31145]: vcpu0 ignored rdmsr: 0x30a
[Thu Jul 16 07:10:14 2015] kvm [31145]: vcpu0 ignored rdmsr: 0x30b
[Thu Jul 16 07:10:14 2015] kvm [31145]: vcpu0 ignored rdmsr: 0x309
[Thu Jul 16 07:10:14 2015] kvm [31145]: vcpu0 ignored rdmsr: 0x30a
[Thu Jul 16 07:10:14 2015] kvm [31145]: vcpu0 ignored rdmsr: 0x30b
[Thu Jul 16 07:10:14 2015] kvm [31145]: vcpu1 ignored rdmsr: 0x309
[Thu Jul 16 07:10:14 2015] kvm [31145]: vcpu1 ignored rdmsr: 0x30a
[Thu Jul 16 07:10:14 2015] kvm [31145]: vcpu1 ignored rdmsr: 0x30b
[Thu Jul 16 07:10:14 2015] kvm [31145]: vcpu0 ignored rdmsr: 0x309
[Thu Jul 16 07:10:19 2015] kvm_get_msr_common: 36388 callbacks suppressed
[Thu Jul 16 07:10:19 2015] kvm [31145]: vcpu1 ignored rdmsr: 0x309
[Thu Jul 16 07:10:19 2015] kvm [31145]: vcpu1 ignored rdmsr: 0x30a
[Thu Jul 16 07:10:19 2015] kvm [31145]: vcpu1 ignored rdmsr: 0x30b
[Thu Jul 16 07:10:19 2015] kvm [31145]: vcpu0 ignored rdmsr: 0x309
[Thu Jul 16 07:10:19 2015] kvm [31145]: vcpu0 ignored rdmsr: 0x30a
[Thu Jul 16 07:10:19 2015] kvm [31145]: vcpu0 ignored rdmsr: 0x30b
[Thu Jul 16 07:10:19 2015] kvm [31145]: vcpu1 ignored rdmsr: 0x309
[Thu Jul 16 07:10:19 2015] kvm [31145]: vcpu1 ignored rdmsr: 0x30a
[Thu Jul 16 07:10:19 2015] kvm [31145]: vcpu1 ignored rdmsr: 0x30b
[Thu Jul 16 07:10:19 2015] kvm [31145]: vcpu1 ignored rdmsr: 0x309

QEMU command :

qemu-system-x86_64 -name winbeta -nographic \
-enable-kvm -m 2G -cpu host,kvm=off -smp sockets=1,cores=2,threads=1 \
-vga std -nodefconfig \
-drive if=pflash,format=raw,readonly,file=/usr/share/ovmf/x64/ovmf_code_x64.bin \
-drive if=pflash,format=raw,file=/SSD/ovmf_winbeta.bin \
-drive file=/SSD/Win_Beta.img,cache=none,if=none,format=raw,id=drive0,aio=native \
-device virtio-blk-pci,drive=drive0,ioeventfd=on,bootindex=1 \
-device virtio-scsi-pci,id=scsi \
-drive file=/SSD/WinBeta.iso,id=iso_install,if=none,format=raw \
-device scsi-cd,drive=iso_install \
-cdrom /SSD/virtio.iso \
-netdev bridge,id=br0 -device virtio-net-pci,netdev=br0,id=nic0,mac=B8:A7:2A:6E:05:B2 \
-vnc :1 \
-localtime \
-usbdevice tablet \
-monitor unix:/tmp/vm_winbeta,server,nowait &

Anyone using Windows 10 ?

Last edited by Denso (2015-07-16 04:30:21)

Offline

#5632 2015-07-16 07:34:48

slis
Member
Registered: 2014-06-02
Posts: 127

Re: KVM VGA-Passthrough using the new vfio-vga support in kernel =>3.9

For windows 10 use
echo 1 > /sys/module/kvm/parameters/ignore_msrs

Offline

#5633 2015-07-16 09:17:48

Denso
Member
Registered: 2014-08-30
Posts: 179

Re: KVM VGA-Passthrough using the new vfio-vga support in kernel =>3.9

slis wrote:

For windows 10 use
echo 1 > /sys/module/kvm/parameters/ignore_msrs

Hi Slis . Unfortunately it is already set to ignore msrs in modprobe.d conf file :

options kvm ignore_msrs=1

I had to make sure it is indeed set to ignore msrs :

root ~ cat /sys/module/kvm/parameters/ignore_msrs
Y

Still no go sad

Thanks smile

Last edited by Denso (2015-07-16 09:17:57)

Offline

#5634 2015-07-16 13:10:12

morat
Member
Registered: 2015-07-07
Posts: 38

Re: KVM VGA-Passthrough using the new vfio-vga support in kernel =>3.9

Denso wrote:

Windows 10 + OVMF + virtio-blk-pci is a no-go .

It always throws a BSOD in the installation stage (kmode_exception_not_handled) .

I've tried using 3 different builds (10041 , 10074 , 10240) all BSOD at the same spot with the same error .

dmesg throws tons of these :

[Thu Jul 16 07:10:04 2015] kvm_get_msr_common: 5728 callbacks suppressed
[Thu Jul 16 07:10:04 2015] kvm [31145]: vcpu1 ignored rdmsr: 0x309
[Thu Jul 16 07:10:04 2015] kvm [31145]: vcpu1 ignored rdmsr: 0x30a
[Thu Jul 16 07:10:04 2015] kvm [31145]: vcpu1 ignored rdmsr: 0x30b
[Thu Jul 16 07:10:04 2015] kvm [31145]: vcpu1 ignored rdmsr: 0x309
[Thu Jul 16 07:10:04 2015] kvm [31145]: vcpu1 ignored rdmsr: 0x30a
[Thu Jul 16 07:10:04 2015] kvm [31145]: vcpu1 ignored rdmsr: 0x30b
[Thu Jul 16 07:10:04 2015] kvm [31145]: vcpu1 ignored rdmsr: 0x309
[Thu Jul 16 07:10:04 2015] kvm [31145]: vcpu1 ignored rdmsr: 0x30a
[Thu Jul 16 07:10:04 2015] kvm [31145]: vcpu1 ignored rdmsr: 0x30b
[Thu Jul 16 07:10:04 2015] kvm [31145]: vcpu0 ignored rdmsr: 0x309
[Thu Jul 16 07:10:09 2015] kvm_get_msr_common: 9839 callbacks suppressed
[Thu Jul 16 07:10:09 2015] kvm [31145]: vcpu1 ignored rdmsr: 0x309
[Thu Jul 16 07:10:09 2015] kvm [31145]: vcpu1 ignored rdmsr: 0x30a
[Thu Jul 16 07:10:09 2015] kvm [31145]: vcpu1 ignored rdmsr: 0x30b
[Thu Jul 16 07:10:09 2015] kvm [31145]: vcpu0 ignored rdmsr: 0x309
[Thu Jul 16 07:10:09 2015] kvm [31145]: vcpu0 ignored rdmsr: 0x30a
[Thu Jul 16 07:10:09 2015] kvm [31145]: vcpu0 ignored rdmsr: 0x30b
[Thu Jul 16 07:10:09 2015] kvm [31145]: vcpu0 ignored rdmsr: 0x309
[Thu Jul 16 07:10:09 2015] kvm [31145]: vcpu0 ignored rdmsr: 0x30a
[Thu Jul 16 07:10:09 2015] kvm [31145]: vcpu0 ignored rdmsr: 0x30b
[Thu Jul 16 07:10:09 2015] kvm [31145]: vcpu0 ignored rdmsr: 0x309
[Thu Jul 16 07:10:14 2015] kvm_get_msr_common: 6502 callbacks suppressed
[Thu Jul 16 07:10:14 2015] kvm [31145]: vcpu0 ignored rdmsr: 0x309
[Thu Jul 16 07:10:14 2015] kvm [31145]: vcpu0 ignored rdmsr: 0x30a
[Thu Jul 16 07:10:14 2015] kvm [31145]: vcpu0 ignored rdmsr: 0x30b
[Thu Jul 16 07:10:14 2015] kvm [31145]: vcpu0 ignored rdmsr: 0x309
[Thu Jul 16 07:10:14 2015] kvm [31145]: vcpu0 ignored rdmsr: 0x30a
[Thu Jul 16 07:10:14 2015] kvm [31145]: vcpu0 ignored rdmsr: 0x30b
[Thu Jul 16 07:10:14 2015] kvm [31145]: vcpu1 ignored rdmsr: 0x309
[Thu Jul 16 07:10:14 2015] kvm [31145]: vcpu1 ignored rdmsr: 0x30a
[Thu Jul 16 07:10:14 2015] kvm [31145]: vcpu1 ignored rdmsr: 0x30b
[Thu Jul 16 07:10:14 2015] kvm [31145]: vcpu0 ignored rdmsr: 0x309
[Thu Jul 16 07:10:19 2015] kvm_get_msr_common: 36388 callbacks suppressed
[Thu Jul 16 07:10:19 2015] kvm [31145]: vcpu1 ignored rdmsr: 0x309
[Thu Jul 16 07:10:19 2015] kvm [31145]: vcpu1 ignored rdmsr: 0x30a
[Thu Jul 16 07:10:19 2015] kvm [31145]: vcpu1 ignored rdmsr: 0x30b
[Thu Jul 16 07:10:19 2015] kvm [31145]: vcpu0 ignored rdmsr: 0x309
[Thu Jul 16 07:10:19 2015] kvm [31145]: vcpu0 ignored rdmsr: 0x30a
[Thu Jul 16 07:10:19 2015] kvm [31145]: vcpu0 ignored rdmsr: 0x30b
[Thu Jul 16 07:10:19 2015] kvm [31145]: vcpu1 ignored rdmsr: 0x309
[Thu Jul 16 07:10:19 2015] kvm [31145]: vcpu1 ignored rdmsr: 0x30a
[Thu Jul 16 07:10:19 2015] kvm [31145]: vcpu1 ignored rdmsr: 0x30b
[Thu Jul 16 07:10:19 2015] kvm [31145]: vcpu1 ignored rdmsr: 0x309

QEMU command :

qemu-system-x86_64 -name winbeta -nographic \
-enable-kvm -m 2G -cpu host,kvm=off -smp sockets=1,cores=2,threads=1 \
-vga std -nodefconfig \
-drive if=pflash,format=raw,readonly,file=/usr/share/ovmf/x64/ovmf_code_x64.bin \
-drive if=pflash,format=raw,file=/SSD/ovmf_winbeta.bin \
-drive file=/SSD/Win_Beta.img,cache=none,if=none,format=raw,id=drive0,aio=native \
-device virtio-blk-pci,drive=drive0,ioeventfd=on,bootindex=1 \
-device virtio-scsi-pci,id=scsi \
-drive file=/SSD/WinBeta.iso,id=iso_install,if=none,format=raw \
-device scsi-cd,drive=iso_install \
-cdrom /SSD/virtio.iso \
-netdev bridge,id=br0 -device virtio-net-pci,netdev=br0,id=nic0,mac=B8:A7:2A:6E:05:B2 \
-vnc :1 \
-localtime \
-usbdevice tablet \
-monitor unix:/tmp/vm_winbeta,server,nowait &

Anyone using Windows 10 ?

I get the same issue in my Win8.1 install; any time I try to use OVMF, I get a kmode_etc. bsod. Using libvirt and qemu both have this issue.

Offline

#5635 2015-07-16 13:15:40

evujumenuk
Member
Registered: 2013-07-02
Posts: 14

Re: KVM VGA-Passthrough using the new vfio-vga support in kernel =>3.9

aw wrote:
aw wrote:

Borderlands folks, I think this is the problem you're trying to describe:

https://dl.dropboxusercontent.com/u/198 … emetal.jpg

https://dl.dropboxusercontent.com/u/198 … ds2-vm.jpg

This vantage point in the training area seems to give me a consistently low FPS and high latency and seems invariant to the lighting.  The VM shows about 1/3rd the FPS and 3x the latency.  What is that latency actually measuring anyway?  These are separate win7x64 installs on the same Haswell/GTX660 hardware with Nvidia Experience optimizing the game in both (highest settings for all).

I don't have any solutions yet, but it's good to understand the problem.  I did run the VM with vfio debugging turned on and I'm not seeing any excessive hits to the card, which means we're not bouncing out to userspace regularly as a result of the assigned devices (GPU + audio + NIC in this case).  I see a write to 0x88154 at a rate of about 10/s.  This is an area we must trap because it's an mmio mirror of PCI config space.  That happens regardless of what's going on in the game and also happens at a basic desktop, so if it was causing any trouble I'd expect it would be across the board and not select games.

I'm suspicious of USB passthrough, but my only evidence is that hitting the escape key in the game is not as responsive as bare metal and often requires a second hit.  Assignment of the USB controller might be an option, but didn't just work in my first attempt, maybe an issue with windows drivers.

EDIT: game reported latency appears to just be the inverse of FPS, so it's SPF (seconds per frame)

EDIT2: Further analysis (special thanks to Paolo Bonzini) shows two issues that are hurting performance here.  First is a known issue with Windows that it pounds on the time source, whether it's ACPI PM timer or HPET.  Code just recently went upstream (kernel and qemu) that enables a Hyper-V enlightened timer that can help to reduce this.  To enable it add "hv-time" to your -cpu option, ex. -cpu Haswell,hv-time  This gives me about 20% more FPS and is likely to help performance of any game running in a Windows guest.  The second problem is that we see extensive use of the processor debug registers.  Each move to or from these registers traps into the hypvervisor and they appear to be batched into a context switch function, so we have a burst of them all at once.  I've submitted a support ticket to gearbox software to see if they have any suggestions to avoid these registers.

Hello performance!  Patches were just posted upstream to do lazy tracking of the debug registers.  With "-cpu Haswell,hv-time" and these patches, this is what I can get now (better than 80% of bare metal):

https://dl.dropboxusercontent.com/u/198 … vm-new.jpg

This initial implementation is Intel-only, but hopefully we can do the same for AMD.

So, what is the best current alternative to hv-time? Can't really use that with Nvidia drivers.

/USE PMTIMER?

Offline

#5636 2015-07-16 14:00:44

dRaiser
Member
From: Poland
Registered: 2013-05-20
Posts: 51
Website

Re: KVM VGA-Passthrough using the new vfio-vga support in kernel =>3.9

dRaiser wrote:

Hi, how hard and/or unrealistic would be to run program with second GPU (bound to vfio) on host, when it's not used by any VM? I'm thinking of approach similar to bumblebe. Is it possible at all? I assume it would need to detach GPU from vfio, run app using it (not leaving host X server), attach to vfio again.

I was planning to set up second machine (aside from Windows one) with Linux, but it's giving me hell. With nearly same config as Windows one. Installed everything, it's using dedicated Nvidia 960, but with low res and disabled OpenGL on Nouveau and with "nvidia gpu at pci:0:8:0 is not supported by NVIDIA driver" with Nvidia binary. I'd like to run some GPU-heavy apps on this dedicated GPU.

I was posting my config some time ago, but just as reminder. It's running perfectly with Windows guest.

<domain type='kvm' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>
  <name>wintendo</name>
  <uuid>bf6bda0e-2664-4bab-998a-aac4dc255c83</uuid>
  <memory unit='KiB'>3145728</memory>
  <currentMemory unit='KiB'>3145728</currentMemory>
  <vcpu placement='static'>4</vcpu>
  <os>
    <type arch='x86_64' machine='pc-i440fx-2.1'>hvm</type>
    <boot dev='hd'/>
  </os>
  <features>
    <acpi/>
    <apic/>
    <pae/>
    <hyperv>
      <relaxed state='off'/>
      <vapic state='off'/>
      <spinlocks state='off'/>
    </hyperv>
    <kvm>
      <hidden state='on'/>
    </kvm>
  </features>
  <cpu mode='host-model'>
    <model fallback='allow'/>
    <topology sockets='1' cores='4' threads='1'/>
  </cpu>
  <clock offset='localtime'>
    <timer name='rtc' tickpolicy='catchup'/>
    <timer name='pit' tickpolicy='delay'/>
    <timer name='hpet' present='no'/>
    <timer name='hypervclock' present='no'/>
  </clock>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>restart</on_crash>
  <pm>
    <suspend-to-mem enabled='no'/>
    <suspend-to-disk enabled='no'/>
  </pm>
  <devices>
    <emulator>/usr/sbin/qemu-system-x86_64</emulator>
    <disk type='block' device='cdrom'>
      <driver name='qemu' type='raw'/>
      <source dev='/dev/sr0'/>
      <target dev='hdb' bus='ide'/>
      <readonly/>
      <address type='drive' controller='0' bus='0' target='0' unit='1'/>
    </disk>
    <disk type='file' device='disk'>
      <driver name='qemu' type='raw'/>
      <source file='/mnt/d2/50.raw'/>
      <target dev='vdd' bus='virtio'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x0a' function='0x0'/>
    </disk>
    <disk type='file' device='disk'>
      <driver name='qemu' type='raw'/>
      <source file='/mnt/d2/d2.img'/>
      <target dev='vde' bus='virtio'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x09' function='0x0'/>
    </disk>
    <controller type='usb' index='0' model='ich9-ehci1'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x7'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci1'>
      <master startport='0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0' multifunction='on'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci2'>
      <master startport='2'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x1'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci3'>
      <master startport='4'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x2'/>
    </controller>
    <controller type='pci' index='0' model='pci-root'/>
    <controller type='ide' index='0'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
    </controller>
    <controller type='virtio-serial' index='0'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
    </controller>
    <interface type='bridge'>
      <mac address='52:54:00:17:65:a1'/>
      <source bridge='br0'/>
      <model type='rtl8139'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
    </interface>
    <serial type='pty'>
      <target port='0'/>
    </serial>
    <console type='pty'>
      <target type='serial' port='0'/>
    </console>
    <channel type='spicevmc'>
      <target type='virtio' name='com.redhat.spice.0'/>
      <address type='virtio-serial' controller='0' bus='0' port='1'/>
    </channel>
    <input type='tablet' bus='usb'/>
    <hostdev mode='subsystem' type='pci' managed='yes'>
      <source>
        <address domain='0x0000' bus='0x00' slot='0x1b' function='0x0'/>
      </source>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x0b' function='0x0'/>
    </hostdev>
    <hostdev mode='subsystem' type='usb' managed='yes'>
      <source>
        <vendor id='0x1532'/>
        <product id='0x0016'/>
      </source>
    </hostdev>
    <hostdev mode='subsystem' type='pci' managed='yes'>
      <source>
        <address domain='0x0000' bus='0x02' slot='0x00' function='0x1'/>
      </source>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
    </hostdev>
    <redirdev bus='usb' type='spicevmc'>
    </redirdev>
    <redirdev bus='usb' type='spicevmc'>
    </redirdev>
    <redirdev bus='usb' type='spicevmc'>
    </redirdev>
    <redirdev bus='usb' type='spicevmc'>
    </redirdev>
    <memballoon model='virtio'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/>
    </memballoon>
  </devices>
  <qemu:commandline>
    <qemu:arg value='-device'/>
    <qemu:arg value='vfio-pci,host=02:00.0,multifunction=on,x-vga=on'/>
  </qemu:commandline>
</domain>

I've tried VM with Arch instead of Linux Mint and it's fine on Nouveau - still no luck with nvidia (latest is 352). Is Nvidia blocking it also for Linux guests? I'm going to try some older versions.

Offline

#5637 2015-07-16 15:27:29

slis
Member
Registered: 2014-06-02
Posts: 127

Re: KVM VGA-Passthrough using the new vfio-vga support in kernel =>3.9

Yeah, they also block it linux guests...
Can someone with 980 try soft mod (with fake id patch on qemu) to quadro m5000 and try latest geforce driver with hyper-v on?
For me 680 works with latest geforce drivers and hyper-v, as grid k2 with faked id in qemu.
And about enabling NVFBC, without geforce experience, you can use GRID SDK, there is EnableNVFBC.exe that does same thing as switching shadowplay on/off, to enable better encoder for streaming.

Offline

#5638 2015-07-16 16:00:34

The_Moves
Member
Registered: 2015-01-06
Posts: 59

Re: KVM VGA-Passthrough using the new vfio-vga support in kernel =>3.9

Denso wrote:

Windows 10 + OVMF + virtio-blk-pci is a no-go .
...
Anyone using Windows 10 ?

I have been using Windows 10 for many months now, and just last night updated to the latest 10240 Build (RTM Supposidlt). I don't know what virtio-blk-pci is though? Is it like mapping a disk to the VM? I use Raw images.

slis wrote:

Can someone with 980 try soft mod (with fake id patch on qemu) to quadro m5000 and try latest geforce driver with hyper-v on?

Slis, can you please explain or link to where you can change the PCI IDs via Qemu? I have a GTX760 that i'd like to soft-mod via Qemu. I also have a GTX465 which I soft-modded via rom hacks into a Quadro 5k. It worked fine with ESXi but the performance isn't near my GTX760 for gaming... I would love to have my 760 be represented as a Quadro so I can enable the HyperV Flags - assuming it will help performance.

Also, I have been using the latest Windows 10 NVIDIA Drivers provided by Windows Update without issue.

Offline

#5639 2015-07-16 16:26:42

Denso
Member
Registered: 2014-08-30
Posts: 179

Re: KVM VGA-Passthrough using the new vfio-vga support in kernel =>3.9

The_Moves wrote:

I have been using Windows 10 for many months now, and just last night updated to the latest 10240 Build (RTM Supposidlt). I don't know what virtio-blk-pci is though? Is it like mapping a disk to the VM? I use Raw images.

virtio-blk-pci is a paravirtualized disk controller , and you attach your RAW image to it . its supposed to give better performance than other controllers in QEMU .

What alternatives should I use that would give good performance ?

Last edited by Denso (2015-07-16 16:28:30)

Offline

#5640 2015-07-16 16:57:07

slis
Member
Registered: 2014-06-02
Posts: 127

Re: KVM VGA-Passthrough using the new vfio-vga support in kernel =>3.9

The_Moves wrote:
Denso wrote:

Windows 10 + OVMF + virtio-blk-pci is a no-go .
...
Anyone using Windows 10 ?

I have been using Windows 10 for many months now, and just last night updated to the latest 10240 Build (RTM Supposidlt). I don't know what virtio-blk-pci is though? Is it like mapping a disk to the VM? I use Raw images.

slis wrote:

Can someone with 980 try soft mod (with fake id patch on qemu) to quadro m5000 and try latest geforce driver with hyper-v on?

Slis, can you please explain or link to where you can change the PCI IDs via Qemu? I have a GTX760 that i'd like to soft-mod via Qemu. I also have a GTX465 which I soft-modded via rom hacks into a Quadro 5k. It worked fine with ESXi but the performance isn't near my GTX760 for gaming... I would love to have my 760 be represented as a Quadro so I can enable the HyperV Flags - assuming it will help performance.

Also, I have been using the latest Windows 10 NVIDIA Drivers provided by Windows Update without issue.

Patch is there...
https://bbs.archlinux.org/viewtopic.php … 0#p1475170

Offline

#5641 2015-07-16 18:21:53

Denso
Member
Registered: 2014-08-30
Posts: 179

Re: KVM VGA-Passthrough using the new vfio-vga support in kernel =>3.9

@The_Moves :

Can you share your Windows 10 QEMU command line ?

Many thanks !

Offline

#5642 2015-07-16 18:27:55

Duelist
Member
Registered: 2014-09-22
Posts: 358

Re: KVM VGA-Passthrough using the new vfio-vga support in kernel =>3.9

Denso wrote:
The_Moves wrote:

I have been using Windows 10 for many months now, and just last night updated to the latest 10240 Build (RTM Supposidlt). I don't know what virtio-blk-pci is though? Is it like mapping a disk to the VM? I use Raw images.

virtio-blk-pci is a paravirtualized disk controller , and you attach your RAW image to it . its supposed to give better performance than other controllers in QEMU .

What alternatives should I use that would give good performance ?

I use virtio-blk-scsi. It gave me best results in atto disk benchmark...


The forum rules prohibit requesting support for distributions other than arch.
I gave up. It was too late.
What I was trying to do.
The reference about VFIO and KVM VGA passthrough.

Offline

#5643 2015-07-16 18:38:12

Denso
Member
Registered: 2014-08-30
Posts: 179

Re: KVM VGA-Passthrough using the new vfio-vga support in kernel =>3.9

@Duelist :

I'm not entirely sure that it is the virtio-blk-pci controller that is the culprit . But I'm sure that these happen when that BSOD occur :

[Thu Jul 16 20:28:22 2015] kvm_get_msr_common: 92 callbacks suppressed
[Thu Jul 16 20:28:22 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:22 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:22 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:22 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:22 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:22 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:22 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:22 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:23 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:23 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:27 2015] kvm_get_msr_common: 92 callbacks suppressed
[Thu Jul 16 20:28:27 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:27 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:27 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:27 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:27 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:27 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:28 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:28 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:28 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:28 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:32 2015] kvm_get_msr_common: 92 callbacks suppressed
[Thu Jul 16 20:28:32 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:32 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:32 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:32 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:33 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:33 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:33 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:33 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:33 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:33 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:37 2015] kvm_get_msr_common: 92 callbacks suppressed
[Thu Jul 16 20:28:37 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:37 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:38 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:38 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:38 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:38 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:38 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:38 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:38 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:38 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:43 2015] kvm_get_msr_common: 92 callbacks suppressed
[Thu Jul 16 20:28:43 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:43 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:43 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:43 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:43 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:43 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:43 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:43 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:43 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:43 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:48 2015] kvm_get_msr_common: 92 callbacks suppressed
[Thu Jul 16 20:28:48 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:48 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:48 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:48 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:48 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:48 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:48 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:48 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:48 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:48 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:53 2015] kvm_get_msr_common: 92 callbacks suppressed
[Thu Jul 16 20:28:53 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:53 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:53 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:53 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:53 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:53 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:53 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:53 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:53 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:53 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:58 2015] kvm_get_msr_common: 92 callbacks suppressed
[Thu Jul 16 20:28:58 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:58 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:58 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:58 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:58 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:58 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:58 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:58 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:58 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:58 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:03 2015] kvm_get_msr_common: 92 callbacks suppressed
[Thu Jul 16 20:29:03 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:03 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:03 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:03 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:03 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:03 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:03 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:03 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:03 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:03 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:08 2015] kvm_get_msr_common: 92 callbacks suppressed
[Thu Jul 16 20:29:08 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:08 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:08 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:08 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:08 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:08 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:08 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:08 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:08 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:08 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:13 2015] kvm_get_msr_common: 92 callbacks suppressed
[Thu Jul 16 20:29:13 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:13 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:13 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:13 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:13 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:13 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:13 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:13 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:13 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:14 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:18 2015] kvm_get_msr_common: 92 callbacks suppressed
[Thu Jul 16 20:29:18 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:18 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:18 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:18 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:18 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:18 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:18 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:19 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:19 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:19 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:23 2015] kvm_get_msr_common: 92 callbacks suppressed
[Thu Jul 16 20:29:23 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:23 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:23 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:23 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:23 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:23 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:24 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:24 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:24 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:24 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:28 2015] kvm_get_msr_common: 91 callbacks suppressed
[Thu Jul 16 20:29:28 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:28 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:28 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:28 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:28 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:29 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:29 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:29 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:29 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:29 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:33 2015] kvm_get_msr_common: 92 callbacks suppressed
[Thu Jul 16 20:29:33 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:33 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:33 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:34 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:34 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:34 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:34 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:34 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:34 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:34 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:38 2015] kvm_get_msr_common: 91 callbacks suppressed
[Thu Jul 16 20:29:38 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:38 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:39 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:39 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:39 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:39 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:39 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:39 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:39 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:39 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:44 2015] kvm_get_msr_common: 91 callbacks suppressed
[Thu Jul 16 20:29:44 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:44 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:44 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:44 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:44 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:44 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:44 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:44 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:44 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:44 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:49 2015] kvm_get_msr_common: 92 callbacks suppressed
[Thu Jul 16 20:29:49 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:49 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:49 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:49 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:49 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:49 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:49 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:49 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:49 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:49 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:54 2015] kvm_get_msr_common: 91 callbacks suppressed
[Thu Jul 16 20:29:54 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:54 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:54 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:54 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:54 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:54 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:54 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:54 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:54 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:54 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:59 2015] kvm_get_msr_common: 92 callbacks suppressed
[Thu Jul 16 20:29:59 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:59 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:59 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:59 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:59 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:59 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:59 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:59 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:59 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:59 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:30:04 2015] kvm_get_msr_common: 91 callbacks suppressed
[Thu Jul 16 20:30:04 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:30:04 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:30:04 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:30:04 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:30:04 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:30:04 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:30:04 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:30:04 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:30:04 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:30:04 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639

Unfortuanetly , setting "options kvm ignore_msrs=1" didn't solve anything .

Offline

#5644 2015-07-16 19:10:28

Duelist
Member
Registered: 2014-09-22
Posts: 358

Re: KVM VGA-Passthrough using the new vfio-vga support in kernel =>3.9

Denso wrote:

@Duelist :

I'm not entirely sure that it is the virtio-blk-pci controller that is the culprit . But I'm sure that these happen when that BSOD occur :

[Thu Jul 16 20:28:22 2015] kvm_get_msr_common: 92 callbacks suppressed
[Thu Jul 16 20:28:22 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:22 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:22 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:22 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:22 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:22 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:22 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:22 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:23 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:23 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:27 2015] kvm_get_msr_common: 92 callbacks suppressed
[Thu Jul 16 20:28:27 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:27 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:27 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:27 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:27 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:27 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:28 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:28 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:28 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:28 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:32 2015] kvm_get_msr_common: 92 callbacks suppressed
[Thu Jul 16 20:28:32 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:32 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:32 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:32 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:33 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:33 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:33 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:33 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:33 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:33 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:37 2015] kvm_get_msr_common: 92 callbacks suppressed
[Thu Jul 16 20:28:37 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:37 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:38 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:38 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:38 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:38 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:38 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:38 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:38 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:38 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:43 2015] kvm_get_msr_common: 92 callbacks suppressed
[Thu Jul 16 20:28:43 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:43 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:43 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:43 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:43 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:43 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:43 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:43 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:43 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:43 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:48 2015] kvm_get_msr_common: 92 callbacks suppressed
[Thu Jul 16 20:28:48 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:48 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:48 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:48 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:48 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:48 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:48 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:48 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:48 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:48 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:53 2015] kvm_get_msr_common: 92 callbacks suppressed
[Thu Jul 16 20:28:53 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:53 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:53 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:53 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:53 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:53 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:53 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:53 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:53 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:53 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:58 2015] kvm_get_msr_common: 92 callbacks suppressed
[Thu Jul 16 20:28:58 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:58 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:58 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:58 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:58 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:58 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:58 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:58 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:58 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:28:58 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:03 2015] kvm_get_msr_common: 92 callbacks suppressed
[Thu Jul 16 20:29:03 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:03 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:03 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:03 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:03 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:03 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:03 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:03 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:03 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:03 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:08 2015] kvm_get_msr_common: 92 callbacks suppressed
[Thu Jul 16 20:29:08 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:08 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:08 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:08 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:08 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:08 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:08 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:08 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:08 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:08 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:13 2015] kvm_get_msr_common: 92 callbacks suppressed
[Thu Jul 16 20:29:13 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:13 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:13 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:13 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:13 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:13 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:13 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:13 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:13 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:14 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:18 2015] kvm_get_msr_common: 92 callbacks suppressed
[Thu Jul 16 20:29:18 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:18 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:18 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:18 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:18 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:18 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:18 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:19 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:19 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:19 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:23 2015] kvm_get_msr_common: 92 callbacks suppressed
[Thu Jul 16 20:29:23 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:23 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:23 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:23 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:23 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:23 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:24 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:24 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:24 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:24 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:28 2015] kvm_get_msr_common: 91 callbacks suppressed
[Thu Jul 16 20:29:28 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:28 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:28 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:28 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:28 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:29 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:29 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:29 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:29 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:29 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:33 2015] kvm_get_msr_common: 92 callbacks suppressed
[Thu Jul 16 20:29:33 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:33 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:33 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:34 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:34 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:34 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:34 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:34 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:34 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:34 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:38 2015] kvm_get_msr_common: 91 callbacks suppressed
[Thu Jul 16 20:29:38 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:38 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:39 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:39 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:39 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:39 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:39 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:39 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:39 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:39 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:44 2015] kvm_get_msr_common: 91 callbacks suppressed
[Thu Jul 16 20:29:44 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:44 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:44 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:44 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:44 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:44 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:44 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:44 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:44 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:44 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:49 2015] kvm_get_msr_common: 92 callbacks suppressed
[Thu Jul 16 20:29:49 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:49 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:49 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:49 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:49 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:49 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:49 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:49 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:49 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:49 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:54 2015] kvm_get_msr_common: 91 callbacks suppressed
[Thu Jul 16 20:29:54 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:54 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:54 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:54 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:54 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:54 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:54 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:54 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:54 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:54 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:59 2015] kvm_get_msr_common: 92 callbacks suppressed
[Thu Jul 16 20:29:59 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:59 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:59 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:59 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:59 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:59 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:59 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:59 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:59 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:29:59 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:30:04 2015] kvm_get_msr_common: 91 callbacks suppressed
[Thu Jul 16 20:30:04 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:30:04 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:30:04 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:30:04 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:30:04 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:30:04 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:30:04 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:30:04 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:30:04 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639
[Thu Jul 16 20:30:04 2015] kvm [674]: vcpu0 ignored rdmsr: 0x639

Unfortuanetly , setting "options kvm ignore_msrs=1" didn't solve anything .

All it says is win10 asked CPU's MSR number 0x639, and the CPU didn't respond.
Try determining what is this MSR and why windows would want to read it. There's no one-line fix, i suppose.


BTW:
Catalyst 15.7 broke on the second boot of the VM. It blanks the screen after greeting the user, and it refuses to delete itself - the installer is just doing nothing.
I don't know what caused this, system updates(i don't recall any important) or the catalyst itself. Beware.
UPD:
What the hell... Alright, my catalyst broke, i've booted into safe mode and turned off my GPUs in device manager, booted with QXL and uninstalled catalyst via windows control panel...
I'm 100% sure it said "remove all versions"...
VM reboot later, the GPU fires up, device manager shows HD7750(BOTH!), aero works...
3D WORKS! Crossfire is offline, though. There are some amd driver processes in taskmanager left.
I've UNINSTALLED THE DRIVERS.
What did just happen?
protip: uninstall 14.12 before installing 15.7
protip2: do NOT install 15.7. It breaks my VM, making even the host system crash(it just shuts itself down, like in the dark old ages).

Last edited by Duelist (2015-07-16 20:29:41)


The forum rules prohibit requesting support for distributions other than arch.
I gave up. It was too late.
What I was trying to do.
The reference about VFIO and KVM VGA passthrough.

Offline

#5645 2015-07-16 19:32:49

The_Moves
Member
Registered: 2015-01-06
Posts: 59

Re: KVM VGA-Passthrough using the new vfio-vga support in kernel =>3.9

Denso wrote:

@The_Moves :

Can you share your Windows 10 QEMU command line ?

Many thanks !

I'm actually using libvirt/virsh to manage my VMs, here is my XML:

http://pastebin.com/3kKMEq0F

Offline

#5646 2015-07-16 20:04:11

Denso
Member
Registered: 2014-08-30
Posts: 179

Re: KVM VGA-Passthrough using the new vfio-vga support in kernel =>3.9

@Duelist & @The_Moves :

Thank you both , I guess I'll wait for Windows 10 to be GA and see what would happen then smile

Update :

Tried Seabios , it works like butter with Windows 10 . It is OVMF-only issue .

Last edited by Denso (2015-07-16 20:48:27)

Offline

#5647 2015-07-16 22:53:56

MonopolyMan
Member
Registered: 2015-07-05
Posts: 6

Re: KVM VGA-Passthrough using the new vfio-vga support in kernel =>3.9

So all of a sudden my VM stopped working (same script and xml has worked before). I'm getting "vfio: error: device 0000:01:00.0 is already attached" when I try to start the VM.


The script I use:

#!/bin/bash

xrandr --output VGA1 --off

set -x
modprobe vfio-pci

if [ -e /sys/bus/pci/devices/0000:01:00.0/driver ]; then
                echo 0000:01:00.0 > /sys/bus/pci/devices/0000:01:00.0/driver/unbind
        fi
        echo 1002 6810 > /sys/bus/pci/drivers/vfio-pci/new_id

if [ -e /sys/bus/pci/devices/0000:01:00.1/driver ]; then
                echo 0000:01:00.1 > /sys/bus/pci/devices/0000:01:00.1/driver/unbind
        fi
        echo 1002 AAB0 > /sys/bus/pci/drivers/vfio-pci/new_id

killall synergy
killall synergyc
sudo synergyc 192.168.1.14:24800

virsh start gamingvm
set +x

sleep 5
xrandr --output HDMI3 --off
xrandr --output HDMI3 --mode 1600x900

exit 0

The error I get when trying to run:

error: Failed to start domain gamingvm
error: internal error: early end of file from monitor: possible problem:
qemu-system-x86_64: -device vfio-pci,host=01:00.0,bus=root.1,addr=00.0,multifunction=on,x-vga=on: vfio: error: device 0000:01:00.0 is already attached
qemu-system-x86_64: -device vfio-pci,host=01:00.0,bus=root.1,addr=00.0,multifunction=on,x-vga=on: Device initialization failed.
qemu-system-x86_64: -device vfio-pci,host=01:00.0,bus=root.1,addr=00.0,multifunction=on,x-vga=on: Device 'vfio-pci' could not be initialized

Offline

#5648 2015-07-16 23:01:11

aw
Member
Registered: 2013-10-04
Posts: 921
Website

Re: KVM VGA-Passthrough using the new vfio-vga support in kernel =>3.9

MonopolyMan wrote:

So all of a sudden my VM stopped working (same script and xml has worked before). I'm getting "vfio: error: device 0000:01:00.0 is already attached" when I try to start the VM.

Have you tried turning it off and on again?  The libvirt log (/var/log/libvirt/qemu/gamingvm.log) might provide some clues.  Are you sure the XML doesn't list the device twice, maybe once via <hostdev> and again via <qemu:args>?  That's as far as I'll guess without logs or xml.


http://vfio.blogspot.com
Looking for a more open forum to discuss vfio related uses?  Try https://www.redhat.com/mailman/listinfo/vfio-users

Offline

#5649 2015-07-16 23:19:41

trimm
Member
Registered: 2014-03-06
Posts: 31

Re: KVM VGA-Passthrough using the new vfio-vga support in kernel =>3.9

Denso wrote:

@Duelist & @The_Moves :

Thank you both , I guess I'll wait for Windows 10 to be GA and see what would happen then smile

Update :

Tried Seabios , it works like butter with Windows 10 . It is OVMF-only issue .

I have the same issue with almost the same configuration. I tried uninstalling the nvidia driver from Windows 10, and now I get no issues with code error 43 and I have a full 1080P screen resolution.
I am now running stock Windows 10 nvidia driver on build 9926. (not Nvidia driver, but the Windows driver).

Last edited by trimm (2015-07-16 23:21:16)

Offline

#5650 2015-07-16 23:27:38

MonopolyMan
Member
Registered: 2015-07-05
Posts: 6

Re: KVM VGA-Passthrough using the new vfio-vga support in kernel =>3.9

aw wrote:
MonopolyMan wrote:

So all of a sudden my VM stopped working (same script and xml has worked before). I'm getting "vfio: error: device 0000:01:00.0 is already attached" when I try to start the VM.

Have you tried turning it off and on again?  The libvirt log (/var/log/libvirt/qemu/gamingvm.log) might provide some clues.  Are you sure the XML doesn't list the device twice, maybe once via <hostdev> and again via <qemu:args>?  That's as far as I'll guess without logs or xml.

The logs didn't provide any more information and I triple checked the XML before posting. Oddly enough, i just redefined the VM and it worked again. I didn't even change anything...

Regardless, thanks for your help.

Offline

Board footer

Powered by FluxBB