[PATCH] KVM: PPC: e500mc: Add support for single threaded vcpus on e6500 core
Scott Wood
scottwood at freescale.com
Tue Aug 12 09:36:39 EST 2014
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?
-Scott
More information about the Linuxppc-dev
mailing list