kvm_arm_set_default_pmu(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

🌸 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:


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