diff mbox

powerpc/64s: Minor fix for MCE TLB flush for radix

Message ID 20170416142119.27242-1-npiggin@gmail.com (mailing list archive)
State Accepted
Commit 95dbdf4fa09823e35b29eab8f7093984daa6a913
Headers show

Commit Message

Nicholas Piggin April 16, 2017, 2:21 p.m. UTC
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(-)

Comments

Aneesh Kumar K.V April 17, 2017, 5:20 a.m. UTC | #1
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
Michael Ellerman April 19, 2017, 10:04 p.m. UTC | #2
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 mbox

Patch

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);
 }