Tracing AMD avic svm_check_apicv_inhibit_reasons calls

zapotah

Renowned Member
Jan 25, 2015
3
0
66
Hi.

I am trying to figure out why AVIC is being disabled but my expertise ends at this juncture. I know that the avic.c library contains the function described in the topic and i suspect that is somehow traceable to see why avic is disabled. Has pve disabled avic altogether or how do i trace kvm to see why it is not passed to the qemu machines?

PVE 7.0 and "args: -global kvm-pit.lost_tick_policy=discard -cpu host,+avic,+kvm_pv_eoi,+kvm_pv_unhalt,-x2apic,-svm" passed to the qemu machine.

I run many IO intensive machines and using AVIC instead of emulated x2apic would benefit these machines immensely.
 
Basically, tracing with 'perf kvm --host --guest -a -o kvm.trace' when i start up a VM will give me a dump that contains what i believe is a call to update apicv information with kvm_request_apicv_update, but i am so far out of my depth that i have no idea how to read the rest of the output.

Any help debugging why avic is not enabled would be appreciated.