On 11/01/21 18:15, Vitaly Kuznetsov wrote:
kvm_no_apic_vcpu is different, we actually need to increase it with every vCPU which doesn't have LAPIC but maybe we can at least switch to static_branch_inc()/static_branch_dec(). It is still weird we initialize it to 'false'
"kvm_no_apic_vcpu" is badly named. It reads as "true if no vCPU has APIC" but it means "true if some vCPU has no APIC". The latter is obviously false in the beginning, because there is no vCPUs at all.
Perhaps a better name would be "kvm_has_noapic_vcpu" (for once, smashingwordstogether is more readable than the alternative).
Paolo but it seems to be a documented behavior. From
include/linux/jump_label.h: "... Thus, static_branch_inc() can be thought of as a 'make more true' and static_branch_dec() as a 'make more false'"