> -----Original Message----- > From: kvm-ppc-ow...@vger.kernel.org > [mailto:kvm-ppc-ow...@vger.kernel.org] On Behalf Of Liu Yu-B13201 > Sent: Friday, December 12, 2008 10:21 AM > To: Hollis Blanchard > Cc: kvm-ppc@vger.kernel.org > Subject: RE: [PATCH 03/11] Use arch.pid as shadow pid for E500 > > > > -----Original Message----- > > From: kvm-ppc-ow...@vger.kernel.org > > [mailto:kvm-ppc-ow...@vger.kernel.org] On Behalf Of Hollis Blanchard > > Sent: Friday, December 12, 2008 5:02 AM > > To: Liu Yu-B13201 > > Cc: kvm-ppc@vger.kernel.org > > 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....@freescale.com> > > > --- > > > 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.
I can use arch.shadow_pid, however I will keep arch.shadow_pid equal to arch.pid. What do you think? -- To unsubscribe from this list: send the line "unsubscribe kvm-ppc" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html