From mboxrd@z Thu Jan 1 00:00:00 1970 From: Fabiano Rosas Date: Thu, 08 Jul 2021 17:56:45 +0000 Subject: Re: [RFC PATCH 12/43] KVM: PPC: Book3S HV P9: Factor out yield_count increment Message-Id: <87pmvsofj6.fsf@linux.ibm.com> List-Id: References: <20210622105736.633352-1-npiggin@gmail.com> <20210622105736.633352-13-npiggin@gmail.com> In-Reply-To: <20210622105736.633352-13-npiggin@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: Nicholas Piggin , kvm-ppc@vger.kernel.org Cc: linuxppc-dev@lists.ozlabs.org, Nicholas Piggin Nicholas Piggin writes: > Factor duplicated code into a helper function. > > Signed-off-by: Nicholas Piggin Reviewed-by: Fabiano Rosas > --- > arch/powerpc/kvm/book3s_hv.c | 24 ++++++++++++------------ > 1 file changed, 12 insertions(+), 12 deletions(-) > > diff --git a/arch/powerpc/kvm/book3s_hv.c b/arch/powerpc/kvm/book3s_hv.c > index b1b94b3563b7..38d8afa16839 100644 > --- a/arch/powerpc/kvm/book3s_hv.c > +++ b/arch/powerpc/kvm/book3s_hv.c > @@ -3896,6 +3896,16 @@ static inline bool hcall_is_xics(unsigned long req) > req = H_IPOLL || req = H_XIRR || req = H_XIRR_X; > } > > +static void vcpu_vpa_increment_dispatch(struct kvm_vcpu *vcpu) > +{ > + struct lppaca *lp = vcpu->arch.vpa.pinned_addr; > + if (lp) { > + u32 yield_count = be32_to_cpu(lp->yield_count) + 1; > + lp->yield_count = cpu_to_be32(yield_count); > + vcpu->arch.vpa.dirty = 1; > + } > +} > + > /* > * Guest entry for POWER9 and later CPUs. > */ > @@ -3926,12 +3936,7 @@ static int kvmhv_p9_guest_entry(struct kvm_vcpu *vcpu, u64 time_limit, > vc->entry_exit_map = 1; > vc->in_guest = 1; > > - if (vcpu->arch.vpa.pinned_addr) { > - struct lppaca *lp = vcpu->arch.vpa.pinned_addr; > - u32 yield_count = be32_to_cpu(lp->yield_count) + 1; > - lp->yield_count = cpu_to_be32(yield_count); > - vcpu->arch.vpa.dirty = 1; > - } > + vcpu_vpa_increment_dispatch(vcpu); > > if (cpu_has_feature(CPU_FTR_TM) || > cpu_has_feature(CPU_FTR_P9_TM_HV_ASSIST)) > @@ -4069,12 +4074,7 @@ static int kvmhv_p9_guest_entry(struct kvm_vcpu *vcpu, u64 time_limit, > cpu_has_feature(CPU_FTR_P9_TM_HV_ASSIST)) > kvmppc_save_tm_hv(vcpu, vcpu->arch.shregs.msr, true); > > - if (vcpu->arch.vpa.pinned_addr) { > - struct lppaca *lp = vcpu->arch.vpa.pinned_addr; > - u32 yield_count = be32_to_cpu(lp->yield_count) + 1; > - lp->yield_count = cpu_to_be32(yield_count); > - vcpu->arch.vpa.dirty = 1; > - } > + vcpu_vpa_increment_dispatch(vcpu); > > save_p9_guest_pmu(vcpu); > #ifdef CONFIG_PPC_PSERIES