https://bugzilla.kernel.org/show_bug.cgi?id=206579 --- Comment #22 from muncrief (rmuncrief@xxxxxxxxxxxxxxx) --- Created attachment 287607 --> https://bugzilla.kernel.org/attachment.cgi?id=287607&action=edit svm.c patch option 2 Okay gentlemen, per Suravee's inquiry I created a patch with the "if (!avic || !lapic_in_kernel(&svm->vcpu))" option, did a clean build, and tested the VM. Everything worked great, and there was no perceptible difference in operation or performance between the two patch variations. I've attached the alternate patch to this comment. I know nothing about the details of what's going on here of course, so it's up to you to choose which one you prefer. The problem now is that it appears that avic is not actually working. I executed "perf kvm stat live" as Suravee suggested and all I saw was vintr, there were no vmexit events. I also disabled avic per Paolo's instructions and there was no perceptible difference in VM performance. I've done everything I could discover to assure avic is enabled as follows: \# dmesg | grep -i AMD-Vi [ 0.918716] pci 0000:00:00.2: AMD-Vi: IOMMU performance counters supported [ 0.920160] pci 0000:00:00.2: AMD-Vi: Found IOMMU cap 0x40 [ 0.920161] pci 0000:00:00.2: AMD-Vi: Extended features (0x58f77ef22294ade): [ 0.920163] AMD-Vi: Interrupt remapping enabled [ 0.920163] AMD-Vi: Virtual APIC enabled [ 0.920163] AMD-Vi: X2APIC enabled [ 0.920272] AMD-Vi: Lazy IO/TLB flushing enabled [ 0.927736] AMD-Vi: AMD IOMMUv2 driver by Joerg Roedel <jroedel@xxxxxxx> \# cat /sys/module/kvm_amd/parameters/avic 1 \# systool -m kvm_amd -v ... ``` Parameters: avic = "1" dump_invalid_vmcb = "N" nested = "1" npt = "1" nrips = "1" pause_filter_count_grow= "2" pause_filter_count_max= "65535" pause_filter_count_shrink= "0" pause_filter_count = "3000" pause_filter_thresh = "128" sev = "0" vgif = "1" vls = "1" ... ``` So at this point I'm perplexed as to why avic isn't working. Any suggestions or further instructions would be greatly appreciated. -- You are receiving this mail because: You are watching the assignee of the bug.