[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <7fea6158-9b7d-4bfb-b709-729266803c32@zytor.com>
Date: Tue, 22 Apr 2025 02:20:32 -0700
From: Xin Li <xin@...or.com>
To: Jürgen Groß <jgross@...e.com>,
linux-kernel@...r.kernel.org, kvm@...r.kernel.org,
linux-perf-users@...r.kernel.org, linux-hyperv@...r.kernel.org,
virtualization@...ts.linux.dev, linux-pm@...r.kernel.org,
linux-edac@...r.kernel.org, xen-devel@...ts.xenproject.org,
linux-acpi@...r.kernel.org, linux-hwmon@...r.kernel.org,
netdev@...r.kernel.org, platform-driver-x86@...r.kernel.org
Cc: tglx@...utronix.de, mingo@...hat.com, bp@...en8.de,
dave.hansen@...ux.intel.com, x86@...nel.org, hpa@...or.com,
acme@...nel.org, andrew.cooper3@...rix.com, peterz@...radead.org,
namhyung@...nel.org, mark.rutland@....com,
alexander.shishkin@...ux.intel.com, jolsa@...nel.org,
irogers@...gle.com, adrian.hunter@...el.com, kan.liang@...ux.intel.com,
wei.liu@...nel.org, ajay.kaher@...adcom.com,
bcm-kernel-feedback-list@...adcom.com, tony.luck@...el.com,
pbonzini@...hat.com, vkuznets@...hat.com, seanjc@...gle.com,
luto@...nel.org, boris.ostrovsky@...cle.com, kys@...rosoft.com,
haiyangz@...rosoft.com, decui@...rosoft.com
Subject: Re: [RFC PATCH v2 22/34] x86/msr: Utilize the alternatives mechanism
to read MSR
On 4/22/2025 1:59 AM, Jürgen Groß wrote:
> On 22.04.25 10:22, Xin Li (Intel) wrote:
>> To eliminate the indirect call overhead introduced by the pv_ops API,
>> utilize the alternatives mechanism to read MSR:
>>
>> 1) When built with !CONFIG_XEN_PV, X86_FEATURE_XENPV becomes a
>> disabled feature, preventing the Xen code from being built
>> and ensuring the native code is executed unconditionally.
>>
>> 2) When built with CONFIG_XEN_PV:
>>
>> 2.1) If not running on the Xen hypervisor (!X86_FEATURE_XENPV),
>> the kernel runtime binary is patched to unconditionally
>> jump to the native MSR read code.
>>
>> 2.2) If running on the Xen hypervisor (X86_FEATURE_XENPV), the
>> kernel runtime binary is patched to unconditionally jump
>> to the Xen MSR read code.
>>
>> The alternatives mechanism is also used to choose the new immediate
>> form MSR read instruction when it's available.
>>
>> Consequently, remove the pv_ops MSR read APIs and the Xen callbacks.
>
> Same as the comment to patch 5: there is no indirect call overhead after
> the system has come up.
>
Please check https://lore.kernel.org/lkml/87y1h81ht4.ffs@tglx/.
And it's was also mentioned in the previous patch:
https://lore.kernel.org/lkml/20250422082216.1954310-22-xin@zytor.com/
Please let me know what I have missed.
Thanks!
Xin
Powered by blists - more mailing lists