[PATCH] KVM: PPC: e500mc: Add support for single threaded vcpus on e6500 core
Alexander Graf
agraf at suse.de
Tue Aug 12 09:53:52 EST 2014
> 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.
Alex
More information about the Linuxppc-dev
mailing list