[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <ed06ad7ea1f147de83527357e81f95e9@AcuMS.aculab.com>
Date: Fri, 10 Jan 2020 16:13:25 +0000
From: David Laight <David.Laight@...LAB.COM>
To: 'Sean Christopherson' <sean.j.christopherson@...el.com>,
Vitaly Kuznetsov <vkuznets@...hat.com>
CC: Paolo Bonzini <pbonzini@...hat.com>,
Wanpeng Li <wanpengli@...cent.com>,
Jim Mattson <jmattson@...gle.com>,
Joerg Roedel <joro@...tes.org>,
"kvm@...r.kernel.org" <kvm@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
Arvind Sankar <nivedita@...m.mit.edu>
Subject: RE: [PATCH v2 2/2] KVM: x86/mmu: Micro-optimize nEPT's bad
memptype/XWR checks
From: Sean Christopherson <sean.j.christopherson@...el.com>
> Sent: 10 January 2020 16:05
...
> Similar to your suggestion, but it avoids evaluating __is_bad_mt_xwr() if
> reserved bits are set, which is admittedly rare.
>
> return __is_rsvd_bits_set(&mmu->guest_rsvd_check, gpte, level)
> #if PTTYPE == PTTYPE_EPT
> || __is_bad_mt_xwr(&mmu->guest_rsvd_check, gpte)
> #endif
> ;
Or:
return __is_rsvd_bits_set(&mmu->guest_rsvd_check, gpte, level) ||
(PTTYPE == PTTYPE_EPT && __is_bad_mt_xwr(&mmu->guest_rsvd_check, gpte));
Relying in the compiler to optimise it away.
David
-
Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK
Registration No: 1397386 (Wales)
Powered by blists - more mailing lists