All of lore.kernel.org
 help / color / mirror / Atom feed
From: Like Xu <like.xu.linux@gmail.com>
To: Sean Christopherson <seanjc@google.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>,
	Jim Mattson <jmattson@google.com>,
	Wanpeng Li <wanpengli@tencent.com>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Joerg Roedel <joro@8bytes.org>,
	Peter Zijlstra <peterz@infradead.org>,
	Like Xu <likexu@tencent.com>,
	kvm@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v11 01/17] perf/x86/intel: Add EPT-Friendly PEBS for Ice Lake Server
Date: Fri, 31 Dec 2021 12:00:37 +0800	[thread overview]
Message-ID: <69ad949e-4788-0f93-46cb-6af6f79a9f24@gmail.com> (raw)
In-Reply-To: <Yc321e9o16luwFK+@google.com>

On 31/12/2021 2:13 am, Sean Christopherson wrote:
> On Fri, Dec 10, 2021, Like Xu wrote:
>> From: Like Xu <like.xu@linux.intel.com>
>>
>> From: Like Xu <like.xu@linux.intel.com>
> 
> Did one of these get handcoded?

Uh, now I have found the use of "--from=<ident>".

> 
>> The new hardware facility supporting guest PEBS is only available on
>> Intel Ice Lake Server platforms for now. KVM will check this field
>> through perf_get_x86_pmu_capability() instead of hard coding the cpu
>> models in the KVM code. If it is supported, the guest PEBS capability
>> will be exposed to the guest.
> 
> So what exactly is this new feature?  I've speed read the cover letter and a few
> changelogs and didn't find anything that actually explained when this feature does.
> 

Please check Intel SDM Vol3 18.9.5 for this "EPT-Friendly PEBS" feature.

I assume when an unfamiliar feature appears in the patch SUBJECT,
the reviewer may search for the exact name in the specification.

> Based on the shortlog, I assume the feature handles translating linear addresses
> via EPT?  If that's correct, then x86_pmu.pebs_vmx should be named something like
> x86_pmu.pebs_ept.

"Translating linear addresses via EPT" is only part of the hardware implementation,
and we may apply the new name if there are no other objections.

> 
> That also raises the question of what will happen if EPT is disabled.  Presumably
> things will Just Work since no additional translation is needed, but if that's the
> case then arguably vmx_pebs_supported() should be:
> 
> 	return boot_cpu_has(X86_FEATURE_PEBS) &&
> 	       (!tdp_enabled || kvm_pmu_cap.pebs_vmx);

Yes, a similar fix is already on my private tree, and thank you for pointing it out!

> 
> I'm guessing no one actually cares about supporting PEBS on older CPUs using shadow
> paging, but the changelog should at least call out that PEBS is allowed if and only
> if "pebs_vmx" is supported for simplicity, even though it would actually work if EPT
> is disabled.  And if for some reason it _doesn't_ work when EPT is disabled, then
> vmx_pebs_supported() and friends need to actually check tdp_enabled.

Yes, the guest PEBS only works when EPT is enabled on the newer modern CPUs.

> 
> Regardless, this changelog really, really needs an explanation of the feature.

Thank you for picking up, I will update the changelog for this commit.

Please let me know if you have any more obstacles or niggles to review this 
patch set.

Thanks,
Like Xu

  reply	other threads:[~2021-12-31  4:00 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-12-10 13:35 [PATCH v11 00/17] KVM: x86/pmu: Add *basic* support to enable guest PEBS via DS Like Xu
2021-12-10 13:35 ` [PATCH v11 01/17] perf/x86/intel: Add EPT-Friendly PEBS for Ice Lake Server Like Xu
2021-12-30 18:13   ` Sean Christopherson
2021-12-31  4:00     ` Like Xu [this message]
2022-01-04 17:25       ` Sean Christopherson
2022-01-05  1:49         ` Like Xu
2021-12-10 13:35 ` [PATCH v11 02/17] perf/x86/intel: Handle guest PEBS overflow PMI for KVM guest Like Xu
2021-12-10 13:35 ` [PATCH v11 03/17] perf/x86/core: Pass "struct kvm_pmu *" to determine the guest values Like Xu
2021-12-10 13:35 ` [PATCH v11 04/17] KVM: x86/pmu: Set MSR_IA32_MISC_ENABLE_EMON bit when vPMU is enabled Like Xu
2021-12-10 13:35 ` [PATCH v11 05/17] KVM: x86/pmu: Introduce the ctrl_mask value for fixed counter Like Xu
2021-12-10 13:35 ` [PATCH v11 06/17] x86/perf/core: Add pebs_capable to store valid PEBS_COUNTER_MASK value Like Xu
2021-12-10 13:35 ` [PATCH v11 07/17] KVM: x86/pmu: Add IA32_PEBS_ENABLE MSR emulation for extended PEBS Like Xu
2021-12-10 13:35 ` [PATCH v11 08/17] KVM: x86/pmu: Reprogram PEBS event to emulate guest PEBS counter Like Xu
2021-12-10 13:35 ` [PATCH v11 09/17] KVM: x86/pmu: Adjust precise_ip to emulate Ice Lake guest PDIR counter Like Xu
2021-12-10 13:35 ` [PATCH v11 10/17] KVM: x86/pmu: Add IA32_DS_AREA MSR emulation to support guest DS Like Xu
2021-12-10 13:35 ` [PATCH v11 11/17] KVM: x86/pmu: Add PEBS_DATA_CFG MSR emulation to support adaptive PEBS Like Xu
2021-12-10 13:35 ` [PATCH v11 12/17] KVM: x86: Set PEBS_UNAVAIL in IA32_MISC_ENABLE when PEBS is enabled Like Xu
2021-12-10 13:35 ` [PATCH v11 13/17] KVM: x86/pmu: Move pmc_speculative_in_use() to arch/x86/kvm/pmu.h Like Xu
2021-12-10 13:35 ` [PATCH v11 14/17] KVM: x86/pmu: Disable guest PEBS temporarily in two rare situations Like Xu
2021-12-10 13:35 ` [PATCH v11 15/17] KVM: x86/pmu: Add kvm_pmu_cap to optimize perf_get_x86_pmu_capability Like Xu
2021-12-10 13:35 ` [PATCH v11 16/17] KVM: x86/cpuid: Refactor host/guest CPU model consistency check Like Xu
2021-12-10 13:35 ` [PATCH v11 17/17] KVM: x86/pmu: Expose CPUIDs feature bits PDCM, DS, DTES64 Like Xu

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=69ad949e-4788-0f93-46cb-6af6f79a9f24@gmail.com \
    --to=like.xu.linux@gmail.com \
    --cc=jmattson@google.com \
    --cc=joro@8bytes.org \
    --cc=kvm@vger.kernel.org \
    --cc=likexu@tencent.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=pbonzini@redhat.com \
    --cc=peterz@infradead.org \
    --cc=seanjc@google.com \
    --cc=vkuznets@redhat.com \
    --cc=wanpengli@tencent.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.