[vfio-users] RX 480 vga passthrough 3D mode host hangs

Jiri Novak jiri.novak at ghorland.net
Tue Aug 22 11:16:05 UTC 2017


Hi,

I've got back again to  testing the RX 480 setup with tips I got
previously (like using i440fx instead of q35) and got a bit further, now
I can run it at least in 2D mode (if I use driver from windows update)
on windows 10 rev 1703.

If I install full driver from AMD website, the host hangs during install
and after that, it runs about 2-3minutes after boot until it hangs.
With driver from windows update, it hangs when I run any game.

Any ideas what to try next, how to find out what's wrong?

Qemu commandline:

LC_ALL=C
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
QEMU_AUDIO_DRV=pa /usr/bin/taskset -c 4-7,20-23
/usr/bin/qemu-system-x86_64 \
    -name 12-wingame \
    -machine pc-i440fx-2.8,accel=kvm,usb=off \
    -cpu host \
    -object
memory-backend-file,id=mem0,size=16G,mem-path=/dev/hugepages1g,share=off \
    -numa node,nodeid=0,memdev=mem0 \
    -m 16G \
    -realtime mlock=off \
    -smp sockets=1,cores=4,threads=2 \
    -uuid 4baaaaaa-aaf5-aaaaaa-919d-aaaaaaacaaaa \
    -nographic -no-user-config -nodefaults -no-hpet \
    -rtc base=localtime,driftfix=slew \
    -global kvm-pit.lost_tick_policy=discard \
    -boot d \
    -drive
file=/dev/Z-ssd/qemu/12-wingame,if=none,id=drive-virtio-disk0,format=raw,cache=none,aio=native
\
    -drive
file=/dev/Z-ssd/data/games-blizzard,if=none,id=drive-virtio-disk1,format=raw,cache=none,aio=native
\
    -device virtio-scsi-pci,bus=pci.0,addr=0x5 \
    -device scsi-hd,drive=drive-virtio-disk0 \
    -device scsi-hd,drive=drive-virtio-disk1 \
    -netdev tap,id=netdev0,ifname=V0300t12,script=no,downscript=no \
    -device
virtio-net-pci,netdev=netdev0,id=net0,mac=42:42:42:00:00:0c,bus=pci.0,addr=0x6
\
    -device
vfio-pci,host=02:00.0,id=hostdev6,bus=pci.0,multifunction=on,addr=0x3,x-vga=on,romfile=/root/roms/Sapphire.RX480.4096.161002.rom
\
    -device vfio-pci,host=02:00.1,id=hostdev7,bus=pci.0,addr=0x3.0x1 \
    -device vfio-pci,host=07:00.0,id=hostdev2,bus=pci.0,addr=0x4 \
    -vga none \
    -soundhw hda \
    -device virtio-rng-pci \
    -chardev stdio,id=seabios \
    -device isa-debugcon,iobase=0x402,chardev=seabios \
    -msg timestamp=on \
    >>/var/log/kvm/12-wingame.stdout 2>>/var/log/kvm/12-wingame.stderr &

Usually I don't manage to get any error, though once the host managed to
spit out this to console (when it crashed after 2 minutes with amd driver)

INFO: rcu_sched detected stalls on CPUs/tasks:
[ 1558.573332]     2-...: (0 ticks this GP) idle=a16/0/0
softirq=17601/17601 fqs=1
[ 1558.573400]     17-...: (1 GPs behind) idle=9c8/0/0
softirq=13311/13311 fqs=1
[ 1558.573452]     20-...: (24 GPs behind) idle=be0/0/0
softirq=30971/30972 fqs=1
[ 1558.573505]     21-...: (4 GPs behind) idle=4a0/0/0
softirq=26182/26183 fqs=1
[ 1558.573557]     23-...: (0 ticks this GP) idle=b45/140000000000000/0
softirq=30549/30549 fqs=1
[ 1558.573615]     (detected by 14, t=5252 jiffies, g=47014, c=47013,
q=40045)
[ 1558.573670] Task dump for CPU 2:
[ 1558.573672] swapper/2       R  running task        0     0      1
0x00200008
[ 1558.573680]  0000000000000083 640fb4432252d28b 0000016601c54f00
0000000000000002
[ 1558.573685]  ffffffffb78b2320 0000000000000004 ffffffffb7205d60
ffffffffb78b2320
[ 1558.573689]  ffffc24a4028a0d0 ffffffffb78b2518 0000000000000005
ffffffffb70cbb2a
[ 1558.573693] Call Trace:
[ 1558.573705]  [<ffffffffb7205d60>] ? intel_idle+0x100/0x110
[ 1558.573712]  [<ffffffffb70cbb2a>] ? cpuidle_enter_state+0xea/0x2b0
[ 1558.573717]  [<ffffffffb6cb9504>] ? cpu_startup_entry+0x154/0x240
[ 1558.573721]  [<ffffffffb6c4805d>] ? start_secondary+0x14d/0x190
[ 1558.573724] Task dump for CPU 17:
[ 1558.573726] swapper/17      R  running task        0     0      1
0x00200008
[ 1558.573729]  0000000000000083 fc4308ad94b8ed74 0000016749d5af00
0000000000000011
[ 1558.573734]  ffffffffb78b2320 0000000000000004 ffffffffb7205d60
ffffffffb78b2320
[ 1558.573737]  ffffc24a4044a0d0 ffffffffb78b2518 0000000000000005
ffffffffb70cbb2a
[ 1558.573741] Call Trace:
[ 1558.573746]  [<ffffffffb7205d60>] ? intel_idle+0x100/0x110
[ 1558.573750]  [<ffffffffb70cbb2a>] ? cpuidle_enter_state+0xea/0x2b0
[ 1558.573753]  [<ffffffffb6cb9504>] ? cpu_startup_entry+0x154/0x240
[ 1558.573756]  [<ffffffffb6c4805d>] ? start_secondary+0x14d/0x190
[ 1558.573758] Task dump for CPU 20:
[ 1558.573759] swapper/20      R  running task        0     0      1
0x00200008
[ 1558.573763]  0000000000000083 39fde3c30b22afa7 0000016b9477af00
0000000000000014
[ 1558.573767]  ffffffffb78b2320 0000000000000004 ffffffffb7205d60
ffffffffb78b2320
[ 1558.573771]  ffffc24a4050a0d0 ffffffffb78b2518 0000000000000005
ffffffffb70cbb2a
[ 1558.573774] Call Trace:
[ 1558.573778]  [<ffffffffb7205d60>] ? intel_idle+0x100/0x110
[ 1558.573782]  [<ffffffffb70cbb2a>] ? cpuidle_enter_state+0xea/0x2b0
[ 1558.573785]  [<ffffffffb6cb9504>] ? cpu_startup_entry+0x154/0x240
[ 1558.573788]  [<ffffffffb6c4805d>] ? start_secondary+0x14d/0x190
[ 1558.573790] Task dump for CPU 21:
[ 1558.573792] swapper/21      R  running task        0     0      1
0x00200008
[ 1558.573795]  0000000000000083 6b8f35123dc25bdb 0000016b9477af00
0000000000000015
[ 1558.573799]  ffffffffb78b2320 0000000000000004 ffffffffb7205d60
ffffffffb78b2320
[ 1558.573803]  ffffc24a4054a0d0 ffffffffb78b2518 0000000000000005
ffffffffb70cbb2a
[ 1558.573806] Call Trace:
[ 1558.573810]  [<ffffffffb7205d60>] ? intel_idle+0x100/0x110
[ 1558.573814]  [<ffffffffb70cbb2a>] ? cpuidle_enter_state+0xea/0x2b0
[ 1558.573817]  [<ffffffffb6cb9504>] ? cpu_startup_entry+0x154/0x240
[ 1558.573820]  [<ffffffffb6c4805d>] ? start_secondary+0x14d/0x190
[ 1558.573822] Task dump for CPU 23:
[ 1558.573824] qemu-system-x86 R  running task        0 18608      1
0x00000800
[ 1558.573827]  0000000000000000 ffffffffc1551560 0000000000000000
0000000000000000
[ 1558.573831]  ffff9404e1c00040 ffffffffc153d9a7 0000000000000000
ffff9404e1c02760
[ 1558.573835]  ffffffffc1519882 0000000000000000 ffff9404e1c02760
0000000000000004
[ 1558.573839] Call Trace:
[ 1558.573882]  [<ffffffffc153d9a7>] ? x86_emulate_insn+0x257/0xcf0 [kvm]
[ 1558.573909]  [<ffffffffc1519882>] ?
emulator_pio_in_emulated+0x102/0x190 [kvm]
[ 1558.573937]  [<ffffffffc1539d31>] ? writeback+0x61/0x210 [kvm]
[ 1558.573962]  [<ffffffffc1535e1d>] ? writeback_registers+0x4d/0x60 [kvm]
[ 1558.573972]  [<ffffffffc09dc21f>] ? atomic_switch_perf_msrs+0x6f/0xa0
[kvm_intel]
[ 1558.574011]  [<ffffffffc15252e3>] ?
kvm_arch_vcpu_ioctl_run+0x6b3/0x1600 [kvm]
[ 1558.574035]  [<ffffffffc151f2fb>] ? kvm_arch_vcpu_load+0x5b/0x270 [kvm]
[ 1558.574039]  [<ffffffffb6c30765>] ? __kernel_fpu_end+0x35/0x100
[ 1558.574059]  [<ffffffffc150b4b5>] ? kvm_vcpu_ioctl+0x315/0x5d0 [kvm]
[ 1558.574063]  [<ffffffffb6ca1800>] ? wake_up_q+0x70/0x70
[ 1558.574066]  [<ffffffffb6cb8799>] ? __wake_up_common+0x49/0x80
[ 1558.574069]  [<ffffffffb6e1603f>] ? do_vfs_ioctl+0x9f/0x600
[ 1558.574092]  [<ffffffffc151b898>] ? kvm_on_user_return+0x68/0xa0 [kvm]
[ 1558.574094]  [<ffffffffb6e16614>] ? SyS_ioctl+0x74/0x80
[ 1558.574111]  [<ffffffffb720627b>] ? system_call_fast_compare_end+0xc/0x9b
[ 1558.574116] rcu_sched kthread starved for 5248 jiffies! g47014 c47013
f0x2 RCU_GP_WAIT_FQS(3) ->state=0x100
[ 1558.574186] rcu_sched       W    0     8      2 0x00000000
[ 1558.574189]  ffff9414d1facc00 0000000000000000 ffff9404f8c3e080
ffff9404ffad8240
[ 1558.574193]  ffff9404f8c6f0c0 ffffa25a400b7db0 ffffffffb72015d3
ffffa25a400b7de0
[ 1558.574197]  000000010004b899 ffff9404ffad8240 0000000000000003
ffff9404f8c3e080
[ 1558.574201] Call Trace:
[ 1558.574205]  [<ffffffffb72015d3>] ? __schedule+0x233/0x6d0
[ 1558.574208]  [<ffffffffb7201aa2>] ? schedule+0x32/0x80
[ 1558.574211]  [<ffffffffb7204dae>] ? schedule_timeout+0x17e/0x310
[ 1558.574217]  [<ffffffffb6ce3e50>] ? del_timer_sync+0x50/0x50
[ 1558.574220]  [<ffffffffb6cdd605>] ? rcu_gp_kthread+0x505/0x850
[ 1558.574223]  [<ffffffffb6cb8799>] ? __wake_up_common+0x49/0x80
[ 1558.574226]  [<ffffffffb6cdd100>] ? rcu_note_context_switch+0xe0/0xe0
[ 1558.574230]  [<ffffffffb6c965d7>] ? kthread+0xd7/0xf0
[ 1558.574234]  [<ffffffffb6c96500>] ? kthread_park+0x60/0x60
[ 1558.574238]  [<ffffffffb72064f5>] ? ret_from_fork+0x25/0x30

Thanks,
Gh.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 866 bytes
Desc: OpenPGP digital signature
URL: <http://listman.redhat.com/archives/vfio-users/attachments/20170822/31697e20/attachment.sig>


More information about the vfio-users mailing list