diff mbox series

[v10,5/9] cxl: Use radix__flush_all_mm instead of generic flush_all_mm

Message ID 20221109045112.187069-6-bgray@linux.ibm.com (mailing list archive)
State Accepted
Commit 0f0a0a6091e678b1a75078ecd6b02176f3228dbb
Headers show
Series powerpc/code-patching: Use temporary mm for Radix MMU | expand

Commit Message

Benjamin Gray Nov. 9, 2022, 4:51 a.m. UTC
The generic implementation of this function isn't really generic (Hash
is not implemented). Unfortunately, the runtime warnings cannot be
replaced with BUILD_BUG's, so it seems safer not to provide a stub in
the first place.

Signed-off-by: Benjamin Gray <bgray@linux.ibm.com>
---
v10:	* New in v10 to remove hash__flush_all_mm, hash__local_flush_all_mm
---
 arch/powerpc/include/asm/mmu_context.h | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

Comments

Christophe Leroy Nov. 9, 2022, 6:16 a.m. UTC | #1
Le 09/11/2022 à 05:51, Benjamin Gray a écrit :
> The generic implementation of this function isn't really generic (Hash
> is not implemented). Unfortunately, the runtime warnings cannot be
> replaced with BUILD_BUG's, so it seems safer not to provide a stub in
> the first place.
> 
> Signed-off-by: Benjamin Gray <bgray@linux.ibm.com>

Reviewed-by: Christophe Leroy <christophe.leroy@csgroup.eu>

> ---
> v10:	* New in v10 to remove hash__flush_all_mm, hash__local_flush_all_mm
> ---
>   arch/powerpc/include/asm/mmu_context.h | 6 +++---
>   1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/arch/powerpc/include/asm/mmu_context.h b/arch/powerpc/include/asm/mmu_context.h
> index c1ea270bb848..57f5017111f4 100644
> --- a/arch/powerpc/include/asm/mmu_context.h
> +++ b/arch/powerpc/include/asm/mmu_context.h
> @@ -151,8 +151,8 @@ static inline void mm_context_remove_copro(struct mm_struct *mm)
>   	 * nMMU and/or PSL need to be cleaned up.
>   	 *
>   	 * Both the 'copros' and 'active_cpus' counts are looked at in
> -	 * flush_all_mm() to determine the scope (local/global) of the
> -	 * TLBIs, so we need to flush first before decrementing
> +	 * radix__flush_all_mm() to determine the scope (local/global)
> +	 * of the TLBIs, so we need to flush first before decrementing
>   	 * 'copros'. If this API is used by several callers for the
>   	 * same context, it can lead to over-flushing. It's hopefully
>   	 * not common enough to be a problem.
> @@ -164,7 +164,7 @@ static inline void mm_context_remove_copro(struct mm_struct *mm)
>   	 * in-between.
>   	 */
>   	if (radix_enabled()) {
> -		flush_all_mm(mm);
> +		radix__flush_all_mm(mm);
>   
>   		c = atomic_dec_if_positive(&mm->context.copros);
>   		/* Detect imbalance between add and remove */
Andrew Donnellan Nov. 25, 2022, 2:42 a.m. UTC | #2
On Wed, 2022-11-09 at 15:51 +1100, Benjamin Gray wrote:
> The generic implementation of this function isn't really generic
> (Hash
> is not implemented). Unfortunately, the runtime warnings cannot be
> replaced with BUILD_BUG's, so it seems safer not to provide a stub in
> the first place.
> 
> Signed-off-by: Benjamin Gray <bgray@linux.ibm.com>

[+ Fred]

This seems fine to me.

Reviewed-by: Andrew Donnellan <ajd@linux.ibm.com>

> ---
> v10:    * New in v10 to remove hash__flush_all_mm,
> hash__local_flush_all_mm
> ---
>  arch/powerpc/include/asm/mmu_context.h | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/arch/powerpc/include/asm/mmu_context.h
> b/arch/powerpc/include/asm/mmu_context.h
> index c1ea270bb848..57f5017111f4 100644
> --- a/arch/powerpc/include/asm/mmu_context.h
> +++ b/arch/powerpc/include/asm/mmu_context.h
> @@ -151,8 +151,8 @@ static inline void mm_context_remove_copro(struct
> mm_struct *mm)
>          * nMMU and/or PSL need to be cleaned up.
>          *
>          * Both the 'copros' and 'active_cpus' counts are looked at
> in
> -        * flush_all_mm() to determine the scope (local/global) of
> the
> -        * TLBIs, so we need to flush first before decrementing
> +        * radix__flush_all_mm() to determine the scope
> (local/global)
> +        * of the TLBIs, so we need to flush first before
> decrementing
>          * 'copros'. If this API is used by several callers for the
>          * same context, it can lead to over-flushing. It's hopefully
>          * not common enough to be a problem.
> @@ -164,7 +164,7 @@ static inline void mm_context_remove_copro(struct
> mm_struct *mm)
>          * in-between.
>          */
>         if (radix_enabled()) {
> -               flush_all_mm(mm);
> +               radix__flush_all_mm(mm);
>  
>                 c = atomic_dec_if_positive(&mm->context.copros);
>                 /* Detect imbalance between add and remove */
diff mbox series

Patch

diff --git a/arch/powerpc/include/asm/mmu_context.h b/arch/powerpc/include/asm/mmu_context.h
index c1ea270bb848..57f5017111f4 100644
--- a/arch/powerpc/include/asm/mmu_context.h
+++ b/arch/powerpc/include/asm/mmu_context.h
@@ -151,8 +151,8 @@  static inline void mm_context_remove_copro(struct mm_struct *mm)
 	 * nMMU and/or PSL need to be cleaned up.
 	 *
 	 * Both the 'copros' and 'active_cpus' counts are looked at in
-	 * flush_all_mm() to determine the scope (local/global) of the
-	 * TLBIs, so we need to flush first before decrementing
+	 * radix__flush_all_mm() to determine the scope (local/global)
+	 * of the TLBIs, so we need to flush first before decrementing
 	 * 'copros'. If this API is used by several callers for the
 	 * same context, it can lead to over-flushing. It's hopefully
 	 * not common enough to be a problem.
@@ -164,7 +164,7 @@  static inline void mm_context_remove_copro(struct mm_struct *mm)
 	 * in-between.
 	 */
 	if (radix_enabled()) {
-		flush_all_mm(mm);
+		radix__flush_all_mm(mm);
 
 		c = atomic_dec_if_positive(&mm->context.copros);
 		/* Detect imbalance between add and remove */