runner
struct kvm_vcpu *runner;
vcore->runner)
target = vcore->runner;
if (vc->runner == vcpu && vc->vcore_state >= VCORE_SLEEPING)
if (pvc->runner == NULL) {
} else if (vc->runner) {
if (vc->n_runnable > 0 && vc->runner == NULL) {
if (vc->runner == vcpu && vc->vcore_state >= VCORE_SLEEPING)
if (vc->runner->arch.state != KVMPPC_VCPU_RUNNABLE)
++vc->runner->stat.generic.halt_attempted_poll;
++vc->runner->stat.generic.halt_successful_poll;
++vc->runner->stat.generic.halt_successful_poll;
trace_kvmppc_vcore_blocked(vc->runner, 0);
trace_kvmppc_vcore_blocked(vc->runner, 1);
++vc->runner->stat.halt_successful_wait;
vc->runner->stat.generic.halt_wait_ns +=
vc->runner->stat.generic.halt_wait_hist,
vc->runner->stat.generic.halt_poll_fail_ns +=
vc->runner->stat.generic.halt_poll_fail_hist,
vc->runner->stat.generic.halt_poll_success_ns +=
vc->runner->stat.generic.halt_poll_success_hist,
if (vc->vcore_state == VCORE_PREEMPT && vc->runner == NULL)
vc->runner = vcpu;
vc->runner = NULL;
if (vc->vcore_state == VCORE_PREEMPT && vc->runner == NULL)
__entry->runner_vcpu = vc->runner->vcpu_id;
if (pthread_create(&tid[i], NULL, runner, &td_sched) != 0) {
if (pthread_create(&tid_del, NULL, runner, &td_del) != 0) {