Thread (5 messages) flat view 5 messages, 3 authors, 2014-08-11

Re: [PATCH] KVM: PPC: e500mc: Add support for single threaded vcpus on e6500 core

From: Scott Wood <hidden>
Date: 2014-08-11 23:36:53
Also in: kvm

On Wed, 2014-08-06 at 19:33 +0300, Mihai Caraman wrote:
quoted hunk ↗ jump to hunk
@@ -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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help