mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-01-07 22:03:14 +00:00
KVM: PPC: Book3S HV: Fix vcore_blocked tracepoint
We removed most of the vcore logic from the P9 path but there's still
a tracepoint that tried to dereference vc->runner.
Fixes: ecb6a7207f
("KVM: PPC: Book3S HV P9: Remove most of the vcore logic")
Signed-off-by: Fabiano Rosas <farosas@linux.ibm.com>
Reviewed-by: Nicholas Piggin <npiggin@gmail.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20220328215831.320409-1-farosas@linux.ibm.com
This commit is contained in:
parent
b22af90419
commit
ad55bae7dc
@ -4269,13 +4269,13 @@ static void kvmppc_vcore_blocked(struct kvmppc_vcore *vc)
|
||||
start_wait = ktime_get();
|
||||
|
||||
vc->vcore_state = VCORE_SLEEPING;
|
||||
trace_kvmppc_vcore_blocked(vc, 0);
|
||||
trace_kvmppc_vcore_blocked(vc->runner, 0);
|
||||
spin_unlock(&vc->lock);
|
||||
schedule();
|
||||
finish_rcuwait(&vc->wait);
|
||||
spin_lock(&vc->lock);
|
||||
vc->vcore_state = VCORE_INACTIVE;
|
||||
trace_kvmppc_vcore_blocked(vc, 1);
|
||||
trace_kvmppc_vcore_blocked(vc->runner, 1);
|
||||
++vc->runner->stat.halt_successful_wait;
|
||||
|
||||
cur = ktime_get();
|
||||
@ -4660,9 +4660,9 @@ int kvmhv_run_single_vcpu(struct kvm_vcpu *vcpu, u64 time_limit,
|
||||
if (kvmppc_vcpu_check_block(vcpu))
|
||||
break;
|
||||
|
||||
trace_kvmppc_vcore_blocked(vc, 0);
|
||||
trace_kvmppc_vcore_blocked(vcpu, 0);
|
||||
schedule();
|
||||
trace_kvmppc_vcore_blocked(vc, 1);
|
||||
trace_kvmppc_vcore_blocked(vcpu, 1);
|
||||
}
|
||||
finish_rcuwait(wait);
|
||||
}
|
||||
|
@ -409,9 +409,9 @@ TRACE_EVENT(kvmppc_run_core,
|
||||
);
|
||||
|
||||
TRACE_EVENT(kvmppc_vcore_blocked,
|
||||
TP_PROTO(struct kvmppc_vcore *vc, int where),
|
||||
TP_PROTO(struct kvm_vcpu *vcpu, int where),
|
||||
|
||||
TP_ARGS(vc, where),
|
||||
TP_ARGS(vcpu, where),
|
||||
|
||||
TP_STRUCT__entry(
|
||||
__field(int, n_runnable)
|
||||
@ -421,8 +421,8 @@ TRACE_EVENT(kvmppc_vcore_blocked,
|
||||
),
|
||||
|
||||
TP_fast_assign(
|
||||
__entry->runner_vcpu = vc->runner->vcpu_id;
|
||||
__entry->n_runnable = vc->n_runnable;
|
||||
__entry->runner_vcpu = vcpu->vcpu_id;
|
||||
__entry->n_runnable = vcpu->arch.vcore->n_runnable;
|
||||
__entry->where = where;
|
||||
__entry->tgid = current->tgid;
|
||||
),
|
||||
|
Loading…
Reference in New Issue
Block a user