[PATCH] KVM: PPC: e500mc: Add support for single threaded vcpus on e6500 core
Scott Wood
scottwood at freescale.com
Tue Aug 12 09:56:18 EST 2014
On Tue, 2014-08-12 at 01:53 +0200, Alexander Graf wrote:
>
> > Am 12.08.2014 um 01:36 schrieb Scott Wood <scottwood at freescale.com>:
> >
> >> On Wed, 2014-08-06 at 19:33 +0300, Mihai Caraman wrote:
> >> @@ -390,19 +400,30 @@ static void kvmppc_core_vcpu_free_e500mc(struct kvm_vcpu *vcpu)
> >>
> >> static int kvmppc_core_init_vm_e500mc(struct kvm *kvm)
> >> {
> >> - int lpid;
> >> + int i, lpid;
> >>
> >> - lpid = kvmppc_alloc_lpid();
> >> - if (lpid < 0)
> >> - return lpid;
> >> + /* The lpid pool supports only 2 entries now */
> >> + if (threads_per_core > 2)
> >> + return -ENOMEM;
> >> +
> >> + /* Each VM allocates one LPID per HW thread index */
> >> + for (i = 0; i < threads_per_core; i++) {
> >> + lpid = kvmppc_alloc_lpid();
> >> + if (lpid < 0)
> >> + return lpid;
> >> +
> >> + kvm->arch.lpid_pool[i] = lpid;
> >> + }
> >
> > Wouldn't it be simpler to halve the size of the lpid pool that the
> > allocator sees, and just OR in the high bit based on the low bit of the
> > cpu number?
>
> Heh, I wrote the same and then removed the section from my reply again. It wouldn't really make that much of a difference if you think it through completely.
>
> But yes, it certainly would be quite a bit more natural. I'm ok either way.
It's not a huge difference, but it would at least get rid of some of the
ifdeffing in the headers. It'd also be nicer when debugging to have the
LPIDs correlated.
-Scott
More information about the Linuxppc-dev
mailing list