On 23.06.20 15:14, Tianjia Zhang wrote: > In the current kvm version, 'kvm_run' has been included in the 'kvm_vcpu' > structure. For historical reasons, many kvm-related function parameters > retain the 'kvm_run' and 'kvm_vcpu' parameters at the same time. This > patch does a unified cleanup of these remaining redundant parameters. > > Signed-off-by: Tianjia Zhang <tianjia.zhang@xxxxxxxxxxxxxxxxx> > Reviewed-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> > --- > arch/s390/kvm/kvm-s390.c | 23 +++++++++++++++-------- > 1 file changed, 15 insertions(+), 8 deletions(-) Tinajia, I have trouble seeing value in this particular patch. We add LOCs without providing any noticable benefit. All other patches in this series at least reduce the amount of code. So I would defer this to Paolo if he prefers to have this way across all architectures. > > diff --git a/arch/s390/kvm/kvm-s390.c b/arch/s390/kvm/kvm-s390.c > index d47c19718615..f5f96dc33712 100644 > --- a/arch/s390/kvm/kvm-s390.c > +++ b/arch/s390/kvm/kvm-s390.c > @@ -4175,8 +4175,9 @@ static int __vcpu_run(struct kvm_vcpu *vcpu) > return rc; > } > > -static void sync_regs_fmt2(struct kvm_vcpu *vcpu, struct kvm_run *kvm_run) > +static void sync_regs_fmt2(struct kvm_vcpu *vcpu) > { > + struct kvm_run *kvm_run = vcpu->run; > struct runtime_instr_cb *riccb; > struct gs_cb *gscb; > > @@ -4242,8 +4243,10 @@ static void sync_regs_fmt2(struct kvm_vcpu *vcpu, struct kvm_run *kvm_run) > /* SIE will load etoken directly from SDNX and therefore kvm_run */ > } > > -static void sync_regs(struct kvm_vcpu *vcpu, struct kvm_run *kvm_run) > +static void sync_regs(struct kvm_vcpu *vcpu) > { > + struct kvm_run *kvm_run = vcpu->run; > + > if (kvm_run->kvm_dirty_regs & KVM_SYNC_PREFIX) > kvm_s390_set_prefix(vcpu, kvm_run->s.regs.prefix); > if (kvm_run->kvm_dirty_regs & KVM_SYNC_CRS) { > @@ -4272,7 +4275,7 @@ static void sync_regs(struct kvm_vcpu *vcpu, struct kvm_run *kvm_run) > > /* Sync fmt2 only data */ > if (likely(!kvm_s390_pv_cpu_is_protected(vcpu))) { > - sync_regs_fmt2(vcpu, kvm_run); > + sync_regs_fmt2(vcpu); > } else { > /* > * In several places we have to modify our internal view to > @@ -4291,8 +4294,10 @@ static void sync_regs(struct kvm_vcpu *vcpu, struct kvm_run *kvm_run) > kvm_run->kvm_dirty_regs = 0; > } > > -static void store_regs_fmt2(struct kvm_vcpu *vcpu, struct kvm_run *kvm_run) > +static void store_regs_fmt2(struct kvm_vcpu *vcpu) > { > + struct kvm_run *kvm_run = vcpu->run; > + > kvm_run->s.regs.todpr = vcpu->arch.sie_block->todpr; > kvm_run->s.regs.pp = vcpu->arch.sie_block->pp; > kvm_run->s.regs.gbea = vcpu->arch.sie_block->gbea; > @@ -4312,8 +4317,10 @@ static void store_regs_fmt2(struct kvm_vcpu *vcpu, struct kvm_run *kvm_run) > /* SIE will save etoken directly into SDNX and therefore kvm_run */ > } > > -static void store_regs(struct kvm_vcpu *vcpu, struct kvm_run *kvm_run) > +static void store_regs(struct kvm_vcpu *vcpu) > { > + struct kvm_run *kvm_run = vcpu->run; > + > kvm_run->psw_mask = vcpu->arch.sie_block->gpsw.mask; > kvm_run->psw_addr = vcpu->arch.sie_block->gpsw.addr; > kvm_run->s.regs.prefix = kvm_s390_get_prefix(vcpu); > @@ -4332,7 +4339,7 @@ static void store_regs(struct kvm_vcpu *vcpu, struct kvm_run *kvm_run) > current->thread.fpu.fpc = vcpu->arch.host_fpregs.fpc; > current->thread.fpu.regs = vcpu->arch.host_fpregs.regs; > if (likely(!kvm_s390_pv_cpu_is_protected(vcpu))) > - store_regs_fmt2(vcpu, kvm_run); > + store_regs_fmt2(vcpu); > } > > int kvm_arch_vcpu_ioctl_run(struct kvm_vcpu *vcpu) > @@ -4370,7 +4377,7 @@ int kvm_arch_vcpu_ioctl_run(struct kvm_vcpu *vcpu) > goto out; > } > > - sync_regs(vcpu, kvm_run); > + sync_regs(vcpu); > enable_cpu_timer_accounting(vcpu); > > might_fault(); > @@ -4392,7 +4399,7 @@ int kvm_arch_vcpu_ioctl_run(struct kvm_vcpu *vcpu) > } > > disable_cpu_timer_accounting(vcpu); > - store_regs(vcpu, kvm_run); > + store_regs(vcpu); > > kvm_sigset_deactivate(vcpu); > >