Re: [GIT PULL] KVM fixes for Linux 5.15-rc7
From: Linus Torvalds
Date: Mon Oct 18 2021 - 14:15:33 EST
On Mon, Oct 18, 2021 at 8:03 AM Paolo Bonzini <pbonzini@xxxxxxxxxx> wrote:
>
> The code is not wrong, there is a comment explaining it:
>
> * Use a bitwise-OR instead of a logical-OR to aggregate the reserved
> * bits and EPT's invalid memtype/XWR checks to avoid an extra Jcc
> * (this is extremely unlikely to be short-circuited as true).
That makes very little sense.
It seems to be avoiding a 'jcc' and replace it with a 'setcc' and an
'or'. Which is likely both bigger and slower.
If the jcc were unpredictable, maybe that would be one thing. But at
least from a quick look, that doesn't even seem likely
The other use of that function has a "WARN_ONCE()" on it, so
presumably it normally doesn't ever trigger either of the boolean
conditions.
Very strange code.
Linus