Tianjia Zhang <tianjia.zhang@xxxxxxxxxxxxxxxxx> writes: > The 'kvm_run' field already exists in the 'vcpu' structure, which > is the same structure as the 'kvm_run' in the 'vcpu_arch' and > should be deleted. > > Signed-off-by: Tianjia Zhang <tianjia.zhang@xxxxxxxxxxxxxxxxx> > --- > arch/powerpc/include/asm/kvm_host.h | 1 - > arch/powerpc/kvm/book3s_hv.c | 6 ++---- > arch/powerpc/kvm/book3s_hv_nested.c | 3 +-- > 3 files changed, 3 insertions(+), 7 deletions(-) > > diff --git a/arch/powerpc/include/asm/kvm_host.h b/arch/powerpc/include/asm/kvm_host.h > index 1dc63101ffe1..2745ff8faa01 100644 > --- a/arch/powerpc/include/asm/kvm_host.h > +++ b/arch/powerpc/include/asm/kvm_host.h > @@ -795,7 +795,6 @@ struct kvm_vcpu_arch { > struct mmio_hpte_cache_entry *pgfault_cache; > > struct task_struct *run_task; > - struct kvm_run *kvm_run; > > spinlock_t vpa_update_lock; > struct kvmppc_vpa vpa; > diff --git a/arch/powerpc/kvm/book3s_hv.c b/arch/powerpc/kvm/book3s_hv.c > index 93493f0cbfe8..413ea2dcb10c 100644 > --- a/arch/powerpc/kvm/book3s_hv.c > +++ b/arch/powerpc/kvm/book3s_hv.c > @@ -2934,7 +2934,7 @@ static void post_guest_process(struct kvmppc_vcore *vc, bool is_master) > > ret = RESUME_GUEST; > if (vcpu->arch.trap) > - ret = kvmppc_handle_exit_hv(vcpu->arch.kvm_run, vcpu, > + ret = kvmppc_handle_exit_hv(vcpu->run, vcpu, > vcpu->arch.run_task); > > vcpu->arch.ret = ret; > @@ -3920,7 +3920,6 @@ static int kvmppc_run_vcpu(struct kvm_run *kvm_run, struct kvm_vcpu *vcpu) > spin_lock(&vc->lock); > vcpu->arch.ceded = 0; > vcpu->arch.run_task = current; > - vcpu->arch.kvm_run = kvm_run; > vcpu->arch.stolen_logged = vcore_stolen_time(vc, mftb()); > vcpu->arch.state = KVMPPC_VCPU_RUNNABLE; > vcpu->arch.busy_preempt = TB_NIL; > @@ -3973,7 +3972,7 @@ static int kvmppc_run_vcpu(struct kvm_run *kvm_run, struct kvm_vcpu *vcpu) > if (signal_pending(v->arch.run_task)) { > kvmppc_remove_runnable(vc, v); > v->stat.signal_exits++; > - v->arch.kvm_run->exit_reason = KVM_EXIT_INTR; > + v->run->exit_reason = KVM_EXIT_INTR; > v->arch.ret = -EINTR; > wake_up(&v->arch.cpu_run); > } > @@ -4049,7 +4048,6 @@ int kvmhv_run_single_vcpu(struct kvm_run *kvm_run, > vc = vcpu->arch.vcore; > vcpu->arch.ceded = 0; > vcpu->arch.run_task = current; > - vcpu->arch.kvm_run = kvm_run; > vcpu->arch.stolen_logged = vcore_stolen_time(vc, mftb()); > vcpu->arch.state = KVMPPC_VCPU_RUNNABLE; > vcpu->arch.busy_preempt = TB_NIL; > diff --git a/arch/powerpc/kvm/book3s_hv_nested.c b/arch/powerpc/kvm/book3s_hv_nested.c > index dc97e5be76f6..5a3987f3ebf3 100644 > --- a/arch/powerpc/kvm/book3s_hv_nested.c > +++ b/arch/powerpc/kvm/book3s_hv_nested.c > @@ -290,8 +290,7 @@ long kvmhv_enter_nested_guest(struct kvm_vcpu *vcpu) > r = RESUME_HOST; > break; > } > - r = kvmhv_run_single_vcpu(vcpu->arch.kvm_run, vcpu, hdec_exp, > - lpcr); > + r = kvmhv_run_single_vcpu(vcpu->run, vcpu, hdec_exp, lpcr); > } while (is_kvmppc_resume_guest(r)); > > /* save L2 state for return */ FWIW, Reviewed-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> -- Vitaly