Re: [PATCH v4 3/7] KVM: PPC: Remove redundant kvm_run from vcpu_arch

From: Vitaly Kuznetsov
Date: Wed Apr 29 2020 - 08:23:54 EST


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