Message ID | 20170416142119.27242-1-npiggin@gmail.com (mailing list archive) |
---|---|
State | Accepted |
Commit | 95dbdf4fa09823e35b29eab8f7093984daa6a913 |
Headers | show |
Nicholas Piggin <npiggin@gmail.com> writes: > The TLB flush for radix first flushes TLB for radix configuration, > then flushes for hash configuration. The second flush is unnecessary > but does not affect correctness. > > Fixes: 1a472c9dba6b9 ("powerpc/mm/radix: Add tlbflush routines") > Signed-off-by: Nicholas Piggin <npiggin@gmail.com> Reviewed-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com> > --- > arch/powerpc/kernel/mce_power.c | 9 ++++++--- > 1 file changed, 6 insertions(+), 3 deletions(-) > > diff --git a/arch/powerpc/kernel/mce_power.c b/arch/powerpc/kernel/mce_power.c > index 763d6f58caa8..7b765aa9f2ff 100644 > --- a/arch/powerpc/kernel/mce_power.c > +++ b/arch/powerpc/kernel/mce_power.c > @@ -72,10 +72,13 @@ void __flush_tlb_power8(unsigned int action) > > void __flush_tlb_power9(unsigned int action) > { > - if (radix_enabled()) > - flush_tlb_206(POWER9_TLB_SETS_RADIX, action); > + unsigned int num_sets; > > - flush_tlb_206(POWER9_TLB_SETS_HASH, action); > + if (radix_enabled()) > + num_sets = POWER9_TLB_SETS_RADIX; > + else > + num_sets = POWER9_TLB_SETS_HASH; > + flush_tlb_206(num_sets, action); > } > > > -- > 2.11.0
On Sun, 2017-04-16 at 14:21:19 UTC, Nicholas Piggin wrote: > The TLB flush for radix first flushes TLB for radix configuration, > then flushes for hash configuration. The second flush is unnecessary > but does not affect correctness. > > Fixes: 1a472c9dba6b9 ("powerpc/mm/radix: Add tlbflush routines") > Signed-off-by: Nicholas Piggin <npiggin@gmail.com> > Reviewed-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com> Applied to powerpc next, thanks. https://git.kernel.org/powerpc/c/95dbdf4fa09823e35b29eab8f70939 cheers
diff --git a/arch/powerpc/kernel/mce_power.c b/arch/powerpc/kernel/mce_power.c index 763d6f58caa8..7b765aa9f2ff 100644 --- a/arch/powerpc/kernel/mce_power.c +++ b/arch/powerpc/kernel/mce_power.c @@ -72,10 +72,13 @@ void __flush_tlb_power8(unsigned int action) void __flush_tlb_power9(unsigned int action) { - if (radix_enabled()) - flush_tlb_206(POWER9_TLB_SETS_RADIX, action); + unsigned int num_sets; - flush_tlb_206(POWER9_TLB_SETS_HASH, action); + if (radix_enabled()) + num_sets = POWER9_TLB_SETS_RADIX; + else + num_sets = POWER9_TLB_SETS_HASH; + flush_tlb_206(num_sets, action); }
The TLB flush for radix first flushes TLB for radix configuration, then flushes for hash configuration. The second flush is unnecessary but does not affect correctness. Fixes: 1a472c9dba6b9 ("powerpc/mm/radix: Add tlbflush routines") Signed-off-by: Nicholas Piggin <npiggin@gmail.com> --- arch/powerpc/kernel/mce_power.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-)