Lines Matching refs:pvc

2883 static bool can_piggyback(struct kvmppc_vcore *pvc, struct core_info *cip,  in can_piggyback()  argument
2886 if (cip->total_threads + pvc->num_threads > target_threads) in can_piggyback()
2889 return can_dynamic_split(pvc, cip); in can_piggyback()
2914 struct kvmppc_vcore *pvc, *vcnext; in collect_piggybacks() local
2917 list_for_each_entry_safe(pvc, vcnext, &lp->list, preempt_list) { in collect_piggybacks()
2918 if (!spin_trylock(&pvc->lock)) in collect_piggybacks()
2920 prepare_threads(pvc); in collect_piggybacks()
2921 if (!pvc->n_runnable || !pvc->kvm->arch.mmu_ready) { in collect_piggybacks()
2922 list_del_init(&pvc->preempt_list); in collect_piggybacks()
2923 if (pvc->runner == NULL) { in collect_piggybacks()
2924 pvc->vcore_state = VCORE_INACTIVE; in collect_piggybacks()
2925 kvmppc_core_end_stolen(pvc); in collect_piggybacks()
2927 spin_unlock(&pvc->lock); in collect_piggybacks()
2930 if (!can_piggyback(pvc, cip, target_threads)) { in collect_piggybacks()
2931 spin_unlock(&pvc->lock); in collect_piggybacks()
2934 kvmppc_core_end_stolen(pvc); in collect_piggybacks()
2935 pvc->vcore_state = VCORE_PIGGYBACK; in collect_piggybacks()
3094 struct kvmppc_vcore *pvc; in kvmppc_run_core() local
3190 pvc = core_info.vc[sub]; in kvmppc_run_core()
3192 kvmppc_vcore_preempt(pvc); in kvmppc_run_core()
3193 spin_unlock(&pvc->lock); in kvmppc_run_core()
3294 pvc = core_info.vc[sub]; in kvmppc_run_core()
3295 pvc->pcpu = pcpu + thr; in kvmppc_run_core()
3296 for_each_runnable_thread(i, vcpu, pvc) { in kvmppc_run_core()
3297 kvmppc_start_thread(vcpu, pvc); in kvmppc_run_core()
3298 kvmppc_create_dtl_entry(vcpu, pvc); in kvmppc_run_core()
3309 kvmppc_start_thread(NULL, pvc); in kvmppc_run_core()
3435 pvc = core_info.vc[sub]; in kvmppc_run_core()
3436 post_guest_process(pvc, pvc == vc); in kvmppc_run_core()