Re: [PATCH 5/9] cputlb: Hoist tlb portions in tlb_flush_one_mmuidx_locked
On Thu, Jan 9, 2020 at 12:55 PM Richard Henderson wrote: > > No functional change, but the smaller expressions make > the code easier to read. > > Signed-off-by: Richard Henderson Reviewed-by: Alistair Francis Alistair > --- > accel/tcg/cputlb.c | 19 ++- > 1 file changed, 10 insertions(+), 9 deletions(-) > > diff --git a/accel/tcg/cputlb.c b/accel/tcg/cputlb.c > index c7dc1dc85a..eff427f137 100644 > --- a/accel/tcg/cputlb.c > +++ b/accel/tcg/cputlb.c > @@ -230,15 +230,16 @@ static void tlb_mmu_resize_locked(CPUTLBDesc *desc, > CPUTLBDescFast *fast) > > static void tlb_flush_one_mmuidx_locked(CPUArchState *env, int mmu_idx) > { > -tlb_mmu_resize_locked(_tlb(env)->d[mmu_idx], > _tlb(env)->f[mmu_idx]); > -env_tlb(env)->d[mmu_idx].n_used_entries = 0; > -env_tlb(env)->d[mmu_idx].large_page_addr = -1; > -env_tlb(env)->d[mmu_idx].large_page_mask = -1; > -env_tlb(env)->d[mmu_idx].vindex = 0; > -memset(env_tlb(env)->f[mmu_idx].table, -1, > - sizeof_tlb(_tlb(env)->f[mmu_idx])); > -memset(env_tlb(env)->d[mmu_idx].vtable, -1, > - sizeof(env_tlb(env)->d[0].vtable)); > +CPUTLBDesc *desc = _tlb(env)->d[mmu_idx]; > +CPUTLBDescFast *fast = _tlb(env)->f[mmu_idx]; > + > +tlb_mmu_resize_locked(desc, fast); > +desc->n_used_entries = 0; > +desc->large_page_addr = -1; > +desc->large_page_mask = -1; > +desc->vindex = 0; > +memset(fast->table, -1, sizeof_tlb(fast)); > +memset(desc->vtable, -1, sizeof(desc->vtable)); > } > > static inline void tlb_n_used_entries_inc(CPUArchState *env, uintptr_t > mmu_idx) > -- > 2.20.1 > >
Re: [PATCH 5/9] cputlb: Hoist tlb portions in tlb_flush_one_mmuidx_locked
Richard Henderson writes: > No functional change, but the smaller expressions make > the code easier to read. > > Signed-off-by: Richard Henderson Reviewed-by: Alex Bennée > --- > accel/tcg/cputlb.c | 19 ++- > 1 file changed, 10 insertions(+), 9 deletions(-) > > diff --git a/accel/tcg/cputlb.c b/accel/tcg/cputlb.c > index c7dc1dc85a..eff427f137 100644 > --- a/accel/tcg/cputlb.c > +++ b/accel/tcg/cputlb.c > @@ -230,15 +230,16 @@ static void tlb_mmu_resize_locked(CPUTLBDesc *desc, > CPUTLBDescFast *fast) > > static void tlb_flush_one_mmuidx_locked(CPUArchState *env, int mmu_idx) > { > -tlb_mmu_resize_locked(_tlb(env)->d[mmu_idx], > _tlb(env)->f[mmu_idx]); > -env_tlb(env)->d[mmu_idx].n_used_entries = 0; > -env_tlb(env)->d[mmu_idx].large_page_addr = -1; > -env_tlb(env)->d[mmu_idx].large_page_mask = -1; > -env_tlb(env)->d[mmu_idx].vindex = 0; > -memset(env_tlb(env)->f[mmu_idx].table, -1, > - sizeof_tlb(_tlb(env)->f[mmu_idx])); > -memset(env_tlb(env)->d[mmu_idx].vtable, -1, > - sizeof(env_tlb(env)->d[0].vtable)); > +CPUTLBDesc *desc = _tlb(env)->d[mmu_idx]; > +CPUTLBDescFast *fast = _tlb(env)->f[mmu_idx]; > + > +tlb_mmu_resize_locked(desc, fast); > +desc->n_used_entries = 0; > +desc->large_page_addr = -1; > +desc->large_page_mask = -1; > +desc->vindex = 0; > +memset(fast->table, -1, sizeof_tlb(fast)); > +memset(desc->vtable, -1, sizeof(desc->vtable)); > } > > static inline void tlb_n_used_entries_inc(CPUArchState *env, uintptr_t > mmu_idx) -- Alex Bennée
Re: [PATCH 5/9] cputlb: Hoist tlb portions in tlb_flush_one_mmuidx_locked
On 1/9/20 3:49 AM, Richard Henderson wrote: No functional change, but the smaller expressions make the code easier to read. Signed-off-by: Richard Henderson Reviewed-by: Philippe Mathieu-Daudé --- accel/tcg/cputlb.c | 19 ++- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/accel/tcg/cputlb.c b/accel/tcg/cputlb.c index c7dc1dc85a..eff427f137 100644 --- a/accel/tcg/cputlb.c +++ b/accel/tcg/cputlb.c @@ -230,15 +230,16 @@ static void tlb_mmu_resize_locked(CPUTLBDesc *desc, CPUTLBDescFast *fast) static void tlb_flush_one_mmuidx_locked(CPUArchState *env, int mmu_idx) { -tlb_mmu_resize_locked(_tlb(env)->d[mmu_idx], _tlb(env)->f[mmu_idx]); -env_tlb(env)->d[mmu_idx].n_used_entries = 0; -env_tlb(env)->d[mmu_idx].large_page_addr = -1; -env_tlb(env)->d[mmu_idx].large_page_mask = -1; -env_tlb(env)->d[mmu_idx].vindex = 0; -memset(env_tlb(env)->f[mmu_idx].table, -1, - sizeof_tlb(_tlb(env)->f[mmu_idx])); -memset(env_tlb(env)->d[mmu_idx].vtable, -1, - sizeof(env_tlb(env)->d[0].vtable)); +CPUTLBDesc *desc = _tlb(env)->d[mmu_idx]; +CPUTLBDescFast *fast = _tlb(env)->f[mmu_idx]; + +tlb_mmu_resize_locked(desc, fast); +desc->n_used_entries = 0; +desc->large_page_addr = -1; +desc->large_page_mask = -1; +desc->vindex = 0; +memset(fast->table, -1, sizeof_tlb(fast)); +memset(desc->vtable, -1, sizeof(desc->vtable)); } static inline void tlb_n_used_entries_inc(CPUArchState *env, uintptr_t mmu_idx)
[PATCH 5/9] cputlb: Hoist tlb portions in tlb_flush_one_mmuidx_locked
No functional change, but the smaller expressions make the code easier to read. Signed-off-by: Richard Henderson --- accel/tcg/cputlb.c | 19 ++- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/accel/tcg/cputlb.c b/accel/tcg/cputlb.c index c7dc1dc85a..eff427f137 100644 --- a/accel/tcg/cputlb.c +++ b/accel/tcg/cputlb.c @@ -230,15 +230,16 @@ static void tlb_mmu_resize_locked(CPUTLBDesc *desc, CPUTLBDescFast *fast) static void tlb_flush_one_mmuidx_locked(CPUArchState *env, int mmu_idx) { -tlb_mmu_resize_locked(_tlb(env)->d[mmu_idx], _tlb(env)->f[mmu_idx]); -env_tlb(env)->d[mmu_idx].n_used_entries = 0; -env_tlb(env)->d[mmu_idx].large_page_addr = -1; -env_tlb(env)->d[mmu_idx].large_page_mask = -1; -env_tlb(env)->d[mmu_idx].vindex = 0; -memset(env_tlb(env)->f[mmu_idx].table, -1, - sizeof_tlb(_tlb(env)->f[mmu_idx])); -memset(env_tlb(env)->d[mmu_idx].vtable, -1, - sizeof(env_tlb(env)->d[0].vtable)); +CPUTLBDesc *desc = _tlb(env)->d[mmu_idx]; +CPUTLBDescFast *fast = _tlb(env)->f[mmu_idx]; + +tlb_mmu_resize_locked(desc, fast); +desc->n_used_entries = 0; +desc->large_page_addr = -1; +desc->large_page_mask = -1; +desc->vindex = 0; +memset(fast->table, -1, sizeof_tlb(fast)); +memset(desc->vtable, -1, sizeof(desc->vtable)); } static inline void tlb_n_used_entries_inc(CPUArchState *env, uintptr_t mmu_idx) -- 2.20.1