mbox series

[RESEND,v2,0/8] x86/pmu: Corner cases fixes and optimization

Message ID 20220823093221.38075-1-likexu@tencent.com (mailing list archive)
Headers show
Series x86/pmu: Corner cases fixes and optimization | expand

Message

Like Xu Aug. 23, 2022, 9:32 a.m. UTC
Good well-designed tests can help us find more bugs, especially when
the test steps differ from the Linux kernel behaviour in terms of the
timing of access to virtualized hw resources.

In this patch series, there are three small optimization (006/007/008),
one hardware surprise (001), and most of these fixes have stepped
on my little toes.

Please feel free to run tests, add more or share comments.

Previous:
https://lore.kernel.org/kvm/20220721103549.49543-1-likexu@tencent.com/
https://lore.kernel.org/kvm/20220803130124.72340-1-likexu@tencent.com/

V2 -> V2 RESEND Changelog:
- The "pebs_capable" fix has been merged into tip/perf/tree tree;
- Move the other two AMD vPMU optimization here;

Like Xu (8):
  perf/x86/core: Completely disable guest PEBS via guest's global_ctrl
  KVM: x86/pmu: Avoid setting BIT_ULL(-1) to pmu->host_cross_mapped_mask
  KVM: x86/pmu: Don't generate PEBS records for emulated instructions
  KVM: x86/pmu: Avoid using PEBS perf_events for normal counters
  KVM: x86/pmu: Defer reprogram_counter() to kvm_pmu_handle_event()
  KVM: x86/pmu: Defer counter emulated overflow via pmc->stale_counter
  KVM: x86/svm/pmu: Direct access pmu->gp_counter[] to implement
    amd_*_to_pmc()
  KVM: x86/svm/pmu: Rewrite get_gp_pmc_amd() for more counters
    scalability

 arch/x86/events/intel/core.c    |   3 +-
 arch/x86/include/asm/kvm_host.h |   6 +-
 arch/x86/kvm/pmu.c              |  47 ++++++++-----
 arch/x86/kvm/pmu.h              |   6 +-
 arch/x86/kvm/svm/pmu.c          | 116 +++++---------------------------
 arch/x86/kvm/vmx/pmu_intel.c    |  30 ++++-----
 6 files changed, 73 insertions(+), 135 deletions(-)

Comments

Sean Christopherson Aug. 30, 2022, 5:29 p.m. UTC | #1
On Tue, Aug 23, 2022, Like Xu wrote:
> Good well-designed tests can help us find more bugs, especially when
> the test steps differ from the Linux kernel behaviour in terms of the
> timing of access to virtualized hw resources.
> 
> In this patch series, there are three small optimization (006/007/008),
> one hardware surprise (001), and most of these fixes have stepped
> on my little toes.
> 
> Please feel free to run tests, add more or share comments.
> 
> Previous:
> https://lore.kernel.org/kvm/20220721103549.49543-1-likexu@tencent.com/
> https://lore.kernel.org/kvm/20220803130124.72340-1-likexu@tencent.com/
> 
> V2 -> V2 RESEND Changelog:
> - The "pebs_capable" fix has been merged into tip/perf/tree tree;
> - Move the other two AMD vPMU optimization here;

This is not a RESEND.  These things very much matter because I'm sitting here
trying to figure out whether I need to review this "v2", which is really v3, or
whether I can just review the real v2.

  Don't add "RESEND" when you are submitting a modified version of your
  patch or patch series - "RESEND" only applies to resubmission of a
  patch or patch series which have not been modified in any way from the
  previous submission.
Like Xu Aug. 31, 2022, 8:05 a.m. UTC | #2
On 31/8/2022 1:29 am, Sean Christopherson wrote:
> On Tue, Aug 23, 2022, Like Xu wrote:
>> Good well-designed tests can help us find more bugs, especially when
>> the test steps differ from the Linux kernel behaviour in terms of the
>> timing of access to virtualized hw resources.
>>
>> In this patch series, there are three small optimization (006/007/008),
>> one hardware surprise (001), and most of these fixes have stepped
>> on my little toes.
>>
>> Please feel free to run tests, add more or share comments.
>>
>> Previous:
>> https://lore.kernel.org/kvm/20220721103549.49543-1-likexu@tencent.com/
>> https://lore.kernel.org/kvm/20220803130124.72340-1-likexu@tencent.com/
>>
>> V2 -> V2 RESEND Changelog:
>> - The "pebs_capable" fix has been merged into tip/perf/tree tree;
>> - Move the other two AMD vPMU optimization here;
> 
> This is not a RESEND.  These things very much matter because I'm sitting here
> trying to figure out whether I need to review this "v2", which is really v3, or
> whether I can just review the real v2.
> 
>    Don't add "RESEND" when you are submitting a modified version of your
>    patch or patch series - "RESEND" only applies to resubmission of a
>    patch or patch series which have not been modified in any way from the
>    previous submission.

Roger that. Thanks for your detailed comments and all of that will be applied in V3.

The new AMD vPMU testcases[1] will also help guard future related changes.
[1] https://lore.kernel.org/kvm/20220819110939.78013-1-likexu@tencent.com/

Thanks,
Like Xu