Re: [GIT PULL] KVM fixes for Linux 5.15-rc7

From: Paolo Bonzini
Date: Mon Oct 18 2021 - 14:29:21 EST


On 18/10/21 20:15, Linus Torvalds wrote:
* 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.

The compiler knows that the setcc is unnecessary, because a!=0|b!=0 is the same as (a|b)!=0.

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.

Yes, and that was why it used a "|".

Anyway, not worth arguing for or against; I'll just change it to logical OR.

Paolo