Re: [PATCH v3 09/16] x86/msr: Use the alternatives mechanism for WRMSR
From: Xin Li
Date: Fri Feb 20 2026 - 12:29:32 EST
> On Feb 18, 2026, at 10:44 PM, Jürgen Groß <jgross@xxxxxxxx> wrote:
>
> On 18.02.26 22:37, Dave Hansen wrote:
>> On 2/18/26 13:00, Sean Christopherson wrote:
>>> On Wed, Feb 18, 2026, Juergen Gross wrote:
>>>> When available use one of the non-serializing WRMSR variants (WRMSRNS
>>>> with or without an immediate operand specifying the MSR register) in
>>>> __wrmsrq().
>>> Silently using a non-serializing version (or not) seems dangerous (not for KVM,
>>> but for the kernel at-large), unless the rule is going to be that MSR writes need
>>> to be treated as non-serializing by default.
>> Yeah, there's no way we can do this in general. It'll work for 99% of
>> the MSRs on 99% of the systems for a long time. Then the one new system
>> with WRMSRNS is going to have one hell of a heisenbug that'll take years
>> off some poor schmuck's life.
>
> I _really_ thought this was discussed upfront by Xin before he sent out his
> first version of the series.
I actually reached out to the Intel architects about this before I started
coding. Turns out, if the CPU supports WRMSRNS, you can use it across the
board. The hardware is smart enough to perform a serialized write whenever
a non-serialized one isn't proper, so there’s no risk.