mirror of
https://github.com/torvalds/linux.git
synced 2024-11-15 00:21:59 +00:00
KVM: x86/pmu: Add documentation for fixed ctr on PMU filter
Update the documentation for the KVM_SET_PMU_EVENT_FILTER ioctl to include a detailed description of how fixed performance events are handled in the pmu filter. The action and fixed_counter_bitmap members of the pmu filter to determine whether fixed performance events can be programmed by the guest. This information is helpful for correctly configuring the fixed_counter_bitmap and action fields to filter fixed performance events. Suggested-by: Like Xu <likexu@tencent.com> Reported-by: kernel test robot <lkp@intel.com> Link: https://lore.kernel.org/oe-kbuild-all/202304150850.rx4UDDsB-lkp@intel.com Signed-off-by: Jinrong Liang <cloudliang@tencent.com> Link: https://lore.kernel.org/r/20230531075052.43239-1-cloudliang@tencent.com Signed-off-by: Sean Christopherson <seanjc@google.com>
This commit is contained in:
parent
78b5605d44
commit
b35babd3ab
@ -5124,6 +5124,24 @@ Valid values for 'action'::
|
||||
#define KVM_PMU_EVENT_ALLOW 0
|
||||
#define KVM_PMU_EVENT_DENY 1
|
||||
|
||||
Via this API, KVM userspace can also control the behavior of the VM's fixed
|
||||
counters (if any) by configuring the "action" and "fixed_counter_bitmap" fields.
|
||||
|
||||
Specifically, KVM follows the following pseudo-code when determining whether to
|
||||
allow the guest FixCtr[i] to count its pre-defined fixed event::
|
||||
|
||||
FixCtr[i]_is_allowed = (action == ALLOW) && (bitmap & BIT(i)) ||
|
||||
(action == DENY) && !(bitmap & BIT(i));
|
||||
FixCtr[i]_is_denied = !FixCtr[i]_is_allowed;
|
||||
|
||||
KVM always consumes fixed_counter_bitmap, it's userspace's responsibility to
|
||||
ensure fixed_counter_bitmap is set correctly, e.g. if userspace wants to define
|
||||
a filter that only affects general purpose counters.
|
||||
|
||||
Note, the "events" field also applies to fixed counters' hardcoded event_select
|
||||
and unit_mask values. "fixed_counter_bitmap" has higher priority than "events"
|
||||
if there is a contradiction between the two.
|
||||
|
||||
4.121 KVM_PPC_SVM_OFF
|
||||
---------------------
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user