Split out struct kvmppc_vcore creation to separate function
authorStewart Smith <stewart@linux.vnet.ibm.com>
Fri, 18 Jul 2014 04:18:42 +0000 (14:18 +1000)
committerAlexander Graf <agraf@suse.de>
Mon, 28 Jul 2014 13:23:16 +0000 (15:23 +0200)
No code changes, just split it out to a function so that with the addition
of micro partition prefetch buffer allocation (in subsequent patch) looks
neater and doesn't require excessive indentation.

Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
Acked-by: Paul Mackerras <paulus@samba.org>
Signed-off-by: Alexander Graf <agraf@suse.de>
arch/powerpc/kvm/book3s_hv.c

index 0c5266e75a2eac127c9dbeb0dcf30345d80cc185..5042cccd9fde604df6aa884f63d3f73537177b13 100644 (file)
@@ -1303,6 +1303,26 @@ static int kvmppc_set_one_reg_hv(struct kvm_vcpu *vcpu, u64 id,
        return r;
 }
 
+static struct kvmppc_vcore *kvmppc_vcore_create(struct kvm *kvm, int core)
+{
+       struct kvmppc_vcore *vcore;
+
+       vcore = kzalloc(sizeof(struct kvmppc_vcore), GFP_KERNEL);
+
+       if (vcore == NULL)
+               return NULL;
+
+       INIT_LIST_HEAD(&vcore->runnable_threads);
+       spin_lock_init(&vcore->lock);
+       init_waitqueue_head(&vcore->wq);
+       vcore->preempt_tb = TB_NIL;
+       vcore->lpcr = kvm->arch.lpcr;
+       vcore->first_vcpuid = core * threads_per_subcore;
+       vcore->kvm = kvm;
+
+       return vcore;
+}
+
 static struct kvm_vcpu *kvmppc_core_vcpu_create_hv(struct kvm *kvm,
                                                   unsigned int id)
 {
@@ -1354,16 +1374,7 @@ static struct kvm_vcpu *kvmppc_core_vcpu_create_hv(struct kvm *kvm,
        mutex_lock(&kvm->lock);
        vcore = kvm->arch.vcores[core];
        if (!vcore) {
-               vcore = kzalloc(sizeof(struct kvmppc_vcore), GFP_KERNEL);
-               if (vcore) {
-                       INIT_LIST_HEAD(&vcore->runnable_threads);
-                       spin_lock_init(&vcore->lock);
-                       init_waitqueue_head(&vcore->wq);
-                       vcore->preempt_tb = TB_NIL;
-                       vcore->lpcr = kvm->arch.lpcr;
-                       vcore->first_vcpuid = core * threads_per_subcore;
-                       vcore->kvm = kvm;
-               }
+               vcore = kvmppc_vcore_create(kvm, core);
                kvm->arch.vcores[core] = vcore;
                kvm->arch.online_vcores++;
        }