[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <93d4156f-4d81-da15-b93e-79f3ec9bebdb@redhat.com>
Date: Mon, 18 Oct 2021 20:29:12 +0200
From: Paolo Bonzini <pbonzini@...hat.com>
To: Linus Torvalds <torvalds@...ux-foundation.org>
Cc: Jim Mattson <jmattson@...gle.com>,
Nathan Chancellor <nathan@...nel.org>,
Nick Desaulniers <ndesaulniers@...gle.com>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
KVM list <kvm@...r.kernel.org>
Subject: Re: [GIT PULL] KVM fixes for Linux 5.15-rc7
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
Powered by blists - more mailing lists