RE: [PATCH 03/11] Use arch.pid as shadow pid for E500

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> -----Original Message-----
> From: kvm-ppc-owner@xxxxxxxxxxxxxxx 
> [mailto:kvm-ppc-owner@xxxxxxxxxxxxxxx] On Behalf Of Hollis Blanchard
> Sent: Friday, December 12, 2008 5:02 AM
> To: Liu Yu-B13201
> Cc: kvm-ppc@xxxxxxxxxxxxxxx
> Subject: Re: [PATCH 03/11] Use arch.pid as shadow pid for E500
> 
> On Thu, 2008-12-11 at 17:11 +0800, Liu Yu wrote:
> > Signed-off-by: Liu Yu <yu.liu@xxxxxxxxxxxxx>
> > ---
> >  arch/powerpc/kernel/asm-offsets.c |    8 +++++++-
> >  1 files changed, 7 insertions(+), 1 deletions(-)
> > 
> > diff --git a/arch/powerpc/kernel/asm-offsets.c 
> b/arch/powerpc/kernel/asm-offsets.c
> > index 544a27f..79fe94c 100644
> > --- a/arch/powerpc/kernel/asm-offsets.c
> > +++ b/arch/powerpc/kernel/asm-offsets.c
> > @@ -355,6 +355,13 @@ int main(void)
> >  	DEFINE(PTE_SIZE, sizeof(pte_t));
> > 
> >  #ifdef CONFIG_KVM
> > +#ifdef CONFIG_44x
> > +	DEFINE(VCPU_SHADOW_PID, offsetof(struct kvm_vcpu, 
> arch.shadow_pid));
> > +#endif
> > +#ifdef CONFIG_FSL_BOOKE
> > +	DEFINE(VCPU_SHADOW_PID, offsetof(struct kvm_vcpu, arch.pid));
> > +#endif
> > +
> >  	DEFINE(VCPU_HOST_STACK, offsetof(struct kvm_vcpu, 
> arch.host_stack));
> >  	DEFINE(VCPU_HOST_PID, offsetof(struct kvm_vcpu, arch.host_pid));
> >  	DEFINE(VCPU_GPRS, offsetof(struct kvm_vcpu, arch.gpr));
> > @@ -368,7 +375,6 @@ int main(void)
> >  	DEFINE(VCPU_SPRG5, offsetof(struct kvm_vcpu, arch.sprg5));
> >  	DEFINE(VCPU_SPRG6, offsetof(struct kvm_vcpu, arch.sprg6));
> >  	DEFINE(VCPU_SPRG7, offsetof(struct kvm_vcpu, arch.sprg7));
> > -	DEFINE(VCPU_SHADOW_PID, offsetof(struct kvm_vcpu, 
> arch.shadow_pid));
> > 
> >  	DEFINE(VCPU_LAST_INST, offsetof(struct kvm_vcpu, 
> arch.last_inst));
> >  	DEFINE(VCPU_FAULT_DEAR, offsetof(struct kvm_vcpu, 
> arch.fault_dear));
> 
> I can commit this, but we got a significant performance boost from
> implementing the shadow_pid scheme. Do you think implementing 
> that would
> be difficult?
> 

Not difficult.
But I want to compare it with some other ways before apply it.

As you know, E500 has a large TLB0, so it has more room to handle
multi-VMs on a single core.
Current shadow pid trick indeed boost performance in the case of one VM,
but for multi-VMs, your pid mapping idea seems better for E500.
--
To unsubscribe from this list: send the line "unsubscribe kvm-ppc" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [KVM Development]     [KVM ARM]     [KVM ia64]     [Linux Virtualization]     [Linux USB Devel]     [Linux Video]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux