Lines Matching refs:cip
3429 static void init_core_info(struct core_info *cip, struct kvmppc_vcore *vc)
3431 memset(cip, 0, sizeof(*cip));
3432 cip->n_subcores = 1;
3433 cip->max_subcore_threads = vc->num_threads;
3434 cip->total_threads = vc->num_threads;
3435 cip->subcore_threads[0] = vc->num_threads;
3436 cip->vc[0] = vc;
3472 static bool can_dynamic_split(struct kvmppc_vcore *vc, struct core_info *cip)
3481 if (one_vm_per_core && vc->kvm != cip->vc[0]->kvm)
3484 if (n_threads < cip->max_subcore_threads)
3485 n_threads = cip->max_subcore_threads;
3486 if (!subcore_config_ok(cip->n_subcores + 1, n_threads))
3488 cip->max_subcore_threads = n_threads;
3490 sub = cip->n_subcores;
3491 ++cip->n_subcores;
3492 cip->total_threads += vc->num_threads;
3493 cip->subcore_threads[sub] = vc->num_threads;
3494 cip->vc[sub] = vc;
3503 * vcore *pvc onto the execution of the other vcores described in *cip.
3505 static bool can_piggyback(struct kvmppc_vcore *pvc, struct core_info *cip,
3508 if (cip->total_threads + pvc->num_threads > target_threads)
3511 return can_dynamic_split(pvc, cip);
3533 static void collect_piggybacks(struct core_info *cip, int target_threads)
3552 if (!can_piggyback(pvc, cip, target_threads)) {
3558 if (cip->total_threads >= target_threads)
3564 static bool recheck_signals_and_mmu(struct core_info *cip)
3570 for (sub = 0; sub < cip->n_subcores; ++sub) {
3571 vc = cip->vc[sub];