A new bit PERF_CAPABILITIES[17] called "PEBS_TIMING_INFO" bit is added
to indicated if PEBS supports to record timing information in a new
"Retried Latency" field.
Since KVM requires user can only set host consistent PEBS capabilities,
otherwise the PERF_CAPABILITIES setting would fail, so add
pebs_timing_info bit into "immutable_caps" to block host inconsistent
PEBS configuration and cause errors.
Signed-off-by: Dapeng Mi <dapeng1.mi@linux.intel.com>
Tested-by: Yi Lai <yi1.lai@intel.com>
---
tools/testing/selftests/kvm/x86/vmx_pmu_caps_test.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/tools/testing/selftests/kvm/x86/vmx_pmu_caps_test.c b/tools/testing/selftests/kvm/x86/vmx_pmu_caps_test.c
index a1f5ff45d518..f8deea220156 100644
--- a/tools/testing/selftests/kvm/x86/vmx_pmu_caps_test.c
+++ b/tools/testing/selftests/kvm/x86/vmx_pmu_caps_test.c
@@ -29,7 +29,7 @@ static union perf_capabilities {
u64 pebs_baseline:1;
u64 perf_metrics:1;
u64 pebs_output_pt_available:1;
- u64 anythread_deprecated:1;
+ u64 pebs_timing_info:1;
};
u64 capabilities;
} host_cap;
@@ -44,6 +44,7 @@ static const union perf_capabilities immutable_caps = {
.pebs_arch_reg = 1,
.pebs_format = -1,
.pebs_baseline = 1,
+ .pebs_timing_info = 1,
};
static const union perf_capabilities format_caps = {
--
2.34.1
On Fri, Jul 18, 2025, Dapeng Mi wrote: > A new bit PERF_CAPABILITIES[17] called "PEBS_TIMING_INFO" bit is added > to indicated if PEBS supports to record timing information in a new > "Retried Latency" field. > > Since KVM requires user can only set host consistent PEBS capabilities, > otherwise the PERF_CAPABILITIES setting would fail, so add > pebs_timing_info bit into "immutable_caps" to block host inconsistent > PEBS configuration and cause errors. Please explain the removal of anythread_deprecated. AFAICT, something like this is accurate: Opportunistically drop the anythread_deprecated bit. It isn't and likely never was a PERF_CAPABILITIES flag, the test's definition snuck in when the union was copy+pasted from the kernel's definition. > Signed-off-by: Dapeng Mi <dapeng1.mi@linux.intel.com> > Tested-by: Yi Lai <yi1.lai@intel.com> > --- > tools/testing/selftests/kvm/x86/vmx_pmu_caps_test.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/tools/testing/selftests/kvm/x86/vmx_pmu_caps_test.c b/tools/testing/selftests/kvm/x86/vmx_pmu_caps_test.c > index a1f5ff45d518..f8deea220156 100644 > --- a/tools/testing/selftests/kvm/x86/vmx_pmu_caps_test.c > +++ b/tools/testing/selftests/kvm/x86/vmx_pmu_caps_test.c > @@ -29,7 +29,7 @@ static union perf_capabilities { > u64 pebs_baseline:1; > u64 perf_metrics:1; > u64 pebs_output_pt_available:1; > - u64 anythread_deprecated:1; > + u64 pebs_timing_info:1; > }; > u64 capabilities; > } host_cap; > @@ -44,6 +44,7 @@ static const union perf_capabilities immutable_caps = { > .pebs_arch_reg = 1, > .pebs_format = -1, > .pebs_baseline = 1, > + .pebs_timing_info = 1, > }; > > static const union perf_capabilities format_caps = { > -- > 2.34.1 >
On 9/11/2025 6:03 AM, Sean Christopherson wrote: > On Fri, Jul 18, 2025, Dapeng Mi wrote: >> A new bit PERF_CAPABILITIES[17] called "PEBS_TIMING_INFO" bit is added >> to indicated if PEBS supports to record timing information in a new >> "Retried Latency" field. >> >> Since KVM requires user can only set host consistent PEBS capabilities, >> otherwise the PERF_CAPABILITIES setting would fail, so add >> pebs_timing_info bit into "immutable_caps" to block host inconsistent >> PEBS configuration and cause errors. > Please explain the removal of anythread_deprecated. AFAICT, something like this > is accurate: > > Opportunistically drop the anythread_deprecated bit. It isn't and likely > never was a PERF_CAPABILITIES flag, the test's definition snuck in when > the union was copy+pasted from the kernel's definition. Yes, would add this in next version. Thanks. > >> Signed-off-by: Dapeng Mi <dapeng1.mi@linux.intel.com> >> Tested-by: Yi Lai <yi1.lai@intel.com> >> --- >> tools/testing/selftests/kvm/x86/vmx_pmu_caps_test.c | 3 ++- >> 1 file changed, 2 insertions(+), 1 deletion(-) >> >> diff --git a/tools/testing/selftests/kvm/x86/vmx_pmu_caps_test.c b/tools/testing/selftests/kvm/x86/vmx_pmu_caps_test.c >> index a1f5ff45d518..f8deea220156 100644 >> --- a/tools/testing/selftests/kvm/x86/vmx_pmu_caps_test.c >> +++ b/tools/testing/selftests/kvm/x86/vmx_pmu_caps_test.c >> @@ -29,7 +29,7 @@ static union perf_capabilities { >> u64 pebs_baseline:1; >> u64 perf_metrics:1; >> u64 pebs_output_pt_available:1; >> - u64 anythread_deprecated:1; >> + u64 pebs_timing_info:1; >> }; >> u64 capabilities; >> } host_cap; >> @@ -44,6 +44,7 @@ static const union perf_capabilities immutable_caps = { >> .pebs_arch_reg = 1, >> .pebs_format = -1, >> .pebs_baseline = 1, >> + .pebs_timing_info = 1, >> }; >> >> static const union perf_capabilities format_caps = { >> -- >> 2.34.1 >>
© 2016 - 2025 Red Hat, Inc.