kvm_arm_set_default_pmu(9)
πΈ NAME πΈ
okay so bestie, this page comes from the Kernel API Manual, and todayβs main character is kvm_arm_set_default_pmu(9) β aka the βNo PMU set and KVM_ARM_VCPU_PMU_V3_STRICT not set, get the default oneβ situation. π
β¨
π SYNOPSIS π
int kvm_arm_set_default_pmu (struct kvm *kvm );
π¦ ARGUMENTS π¦
kvmβ the kvm pointer. thatβs literally the whole argument, iconic behavior honestly π«Ά
π DESCRIPTION π
okay so the observant besties among you will notice something: the supported_cpus mask does not get updated for the default PMU, even though it is quite possible the selected instance supports only a subset of cores in the system.
this is intentional, and it upholds the preexisting behavior on heterogeneous systems where vCPUs can be scheduled on any core but the guest counters could stop working. so like, yes it might look a little sus at first glance, but it is 100% on purpose πβ¨
π SEE ALSO π
bestie, go peek at the kernel file ./arch/arm64/kvm/pmu-emul.c and these functions:
kvm_pmc_is_64bit(9)kvm_pmu_get_counter_value(9)kvm_pmu_set_counter_value(9)kvm_pmu_set_counter_value_user(9)kvm_pmu_release_perf_event(9)kvm_pmu_stop_counter(9)kvm_pmu_vcpu_init(9)kvm_pmu_vcpu_destroy(9)kvm_pmu_flush_hwstate(9)kvm_pmu_sync_hwstate(9)kvm_pmu_software_increment(9)kvm_pmu_handle_pmcr(9)kvm_pmu_create_perf_event(9)kvm_pmu_set_counter_event_type(9)kvm_arm_pmu_get_max_counters(9)kvm_vcpu_read_pmcr(9)
and thatβs the vibe check π signing off with the source/version ./arch/arm64/kvm and the date October 2026 β mwah, slay, periodt ππ
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms