RE: [PATCH] x86: Prefer MWAIT over HALT on AMD processors
From: Limonciello, Mario
Date: Thu Apr 07 2022 - 21:24:30 EST
[Public]
>
> I don't want to give you too hard of a time on this. But, that's not
> architecture, that's just telling folks what the implementation is on
> *one* CPU model. Don't get me wrong: these model-specific docs are
> great, and I wish Intel published something like that.
>
> But, the code as written depends on behavior for *all* of family 0x19:
>
> > case 0x17: fallthrough;
> > case 0x19: init_amd_zn(c); break;
>
> So, while the docs for "family 19h model 01h" are *consistent* with this
> code, there's also nothing preventing the docs for "family 19h model
> 02h" from breaking this new MWAIT code.
>
> Now, AMD is full of smart folks that aren't going out of their way to
> try and break existing software. But, actual documentation of the
> *architecture* is really preferable to what we have now. It helps
> establish a shared hardware/software contract that keeps both sides honest.
Point taken. As you're probably aware releasing documentation is never a quick
process, but Lewis and Wyes can take this to the powers that be internally to see
what can be done for the future.
>
> What's missing is something that says:
>
> All AMD family 0x17 and 0x19 that enumerate support for MWAIT
> also support this "early MWAIT" implementation
>
> That represents a promise from AMD that this can't break in the future.
> It both gives us something unambiguous to write code with *and*
> something to help nudge our hardware and microcode colleagues if they
> start to do something funny in the future.
>
> Just having that in the changelog would be fine, and a genuine
> improvement over what we have now. Having it one of the
> model-independent architecture manuals would be even better.
OK... I think the commit message and/or a comment is doable in the short
term for v2.