linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3] KVM: x86/pmu: Add documentation for fixed ctr on PMU filter
@ 2023-05-31  7:50 Jinrong Liang
  2023-08-16  3:29 ` JinrongLiang
  2023-09-28 16:40 ` Sean Christopherson
  0 siblings, 2 replies; 3+ messages in thread
From: Jinrong Liang @ 2023-05-31  7:50 UTC (permalink / raw)
  To: Sean Christopherson
  Cc: Paolo Bonzini, Like Xu, Bagas Sanjaya, Wanpeng Li, Jinrong Liang,
	kvm, linux-kernel

From: Jinrong Liang <cloudliang@tencent.com>

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

v3:
- Rebased to 5c291b93e5d6(tag: kvm-x86-next-2023.04.26)
- Revise documentation to enhance user understanding. (Sean)
- Post this patch separately from the selftests changes. (Sean)

v2:
- Wrap the code from the documentation in a block of code; (Bagas Sanjaya)

v1:
https://lore.kernel.org/kvm/20230414110056.19665-5-cloudliang@tencent.com

 Documentation/virt/kvm/api.rst | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/Documentation/virt/kvm/api.rst b/Documentation/virt/kvm/api.rst
index a69e91088d76..9f680eb89b2b 100644
--- a/Documentation/virt/kvm/api.rst
+++ b/Documentation/virt/kvm/api.rst
@@ -5122,6 +5122,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
 ---------------------


base-commit: 5c291b93e5d665380dbecc6944973583f9565ee5
-- 
2.31.1


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH v3] KVM: x86/pmu: Add documentation for fixed ctr on PMU filter
  2023-05-31  7:50 [PATCH v3] KVM: x86/pmu: Add documentation for fixed ctr on PMU filter Jinrong Liang
@ 2023-08-16  3:29 ` JinrongLiang
  2023-09-28 16:40 ` Sean Christopherson
  1 sibling, 0 replies; 3+ messages in thread
From: JinrongLiang @ 2023-08-16  3:29 UTC (permalink / raw)
  To: Sean Christopherson, Jinrong Liang
  Cc: Paolo Bonzini, Like Xu, Bagas Sanjaya, Wanpeng Li, kvm, linux-kernel


Gentle ping.

在 2023/5/31 15:50, Jinrong Liang 写道:
> From: Jinrong Liang <cloudliang@tencent.com>
> 
> 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>
> ---
> 
> v3:
> - Rebased to 5c291b93e5d6(tag: kvm-x86-next-2023.04.26)
> - Revise documentation to enhance user understanding. (Sean)
> - Post this patch separately from the selftests changes. (Sean)
> 
> v2:
> - Wrap the code from the documentation in a block of code; (Bagas Sanjaya)
> 
> v1:
> https://lore.kernel.org/kvm/20230414110056.19665-5-cloudliang@tencent.com
> 
>   Documentation/virt/kvm/api.rst | 18 ++++++++++++++++++
>   1 file changed, 18 insertions(+)
> 
> diff --git a/Documentation/virt/kvm/api.rst b/Documentation/virt/kvm/api.rst
> index a69e91088d76..9f680eb89b2b 100644
> --- a/Documentation/virt/kvm/api.rst
> +++ b/Documentation/virt/kvm/api.rst
> @@ -5122,6 +5122,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
>   ---------------------
> 
> 
> base-commit: 5c291b93e5d665380dbecc6944973583f9565ee5


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH v3] KVM: x86/pmu: Add documentation for fixed ctr on PMU filter
  2023-05-31  7:50 [PATCH v3] KVM: x86/pmu: Add documentation for fixed ctr on PMU filter Jinrong Liang
  2023-08-16  3:29 ` JinrongLiang
@ 2023-09-28 16:40 ` Sean Christopherson
  1 sibling, 0 replies; 3+ messages in thread
From: Sean Christopherson @ 2023-09-28 16:40 UTC (permalink / raw)
  To: Sean Christopherson, Jinrong Liang
  Cc: Paolo Bonzini, Like Xu, Bagas Sanjaya, Wanpeng Li, Jinrong Liang,
	kvm, linux-kernel

On Wed, 31 May 2023 15:50:52 +0800, Jinrong Liang wrote:
> 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.
> 
> [...]

Applied to kvm-x86 docs, thanks!

[1/1] KVM: x86/pmu: Add documentation for fixed ctr on PMU filter
      https://github.com/kvm-x86/linux/commit/b35babd3abea

--
https://github.com/kvm-x86/linux/tree/next

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2023-09-28 16:40 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-05-31  7:50 [PATCH v3] KVM: x86/pmu: Add documentation for fixed ctr on PMU filter Jinrong Liang
2023-08-16  3:29 ` JinrongLiang
2023-09-28 16:40 ` Sean Christopherson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).