Re: [PATCH] KVM: x86: add paging gcc optimization

From: Davidlohr Bueso
Date: Thu Mar 08 2012 - 05:40:07 EST


On Thu, 2012-03-08 at 11:45 +0200, Avi Kivity wrote:
> On 03/07/2012 10:02 PM, Davidlohr Bueso wrote:
> > From: Davidlohr Bueso <dave@xxxxxxx>
> >
> > Since most guests will have paging enabled for memory management, add likely() and unlikely()
> > optimizations around is_paging() checks.
> >
> > Signed-off-by: Davidlohr Bueso <dave@xxxxxxx>
> > ---
> > arch/x86/kvm/mmu.c | 6 +++---
> > arch/x86/kvm/svm.c | 6 +++---
> > arch/x86/kvm/vmx.c | 16 ++++++++--------
> > arch/x86/kvm/x86.c | 8 ++++----
> > 4 files changed, 18 insertions(+), 18 deletions(-)
> >
> > diff --git a/arch/x86/kvm/mmu.c b/arch/x86/kvm/mmu.c
> > index 4cb1642..84f1e95 100644
> > --- a/arch/x86/kvm/mmu.c
> > +++ b/arch/x86/kvm/mmu.c
> > @@ -3320,7 +3320,7 @@ static int init_kvm_tdp_mmu(struct kvm_vcpu *vcpu)
> > context->get_pdptr = kvm_pdptr_read;
> > context->inject_page_fault = kvm_inject_page_fault;
> >
> > - if (!is_paging(vcpu)) {
> > + if (unlikely(!is_paging(vcpu))) {
> >
>
> Just change is_paging itself():

Ok, yes, makes more sense. I'll resend the patch.

Thanks.

>
> static inline int is_paging(struct kvm_vcpu *vcpu)
> {
> - return kvm_read_cr0_bits(vcpu, X86_CR0_PG);
> + return likely(kvm_read_cr0_bits(vcpu, X86_CR0_PG));
> }
>


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/