2022-05-23 06:19:30

by Laurent Dufour

[permalink] [raw]
Subject: [PATCH] powerpc/64s: Don't read H_BLOCK_REMOVE characteristics in radix mode

There is no need to read the H_BLOCK_REMOVE characteristics when running in
Radix mode because this hcall is never called.

Signed-off-by: Laurent Dufour <[email protected]>
---
arch/powerpc/platforms/pseries/setup.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/arch/powerpc/platforms/pseries/setup.c b/arch/powerpc/platforms/pseries/setup.c
index c9fcc30a0365..654d2b999c25 100644
--- a/arch/powerpc/platforms/pseries/setup.c
+++ b/arch/powerpc/platforms/pseries/setup.c
@@ -803,7 +803,8 @@ static void __init pSeries_setup_arch(void)

pseries_setup_security_mitigations();
#ifdef CONFIG_PPC_64S_HASH_MMU
- pseries_lpar_read_hblkrm_characteristics();
+ if (!radix_enabled())
+ pseries_lpar_read_hblkrm_characteristics();
#endif

/* By default, only probe PCI (can be overridden by rtas_pci) */
--
2.36.1



2022-05-23 07:10:35

by Christophe Leroy

[permalink] [raw]
Subject: Re: [PATCH] powerpc/64s: Don't read H_BLOCK_REMOVE characteristics in radix mode



Le 20/05/2022 à 17:57, Laurent Dufour a écrit :
> There is no need to read the H_BLOCK_REMOVE characteristics when running in
> Radix mode because this hcall is never called.
>
> Signed-off-by: Laurent Dufour <[email protected]>
> ---
> arch/powerpc/platforms/pseries/setup.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/arch/powerpc/platforms/pseries/setup.c b/arch/powerpc/platforms/pseries/setup.c
> index c9fcc30a0365..654d2b999c25 100644
> --- a/arch/powerpc/platforms/pseries/setup.c
> +++ b/arch/powerpc/platforms/pseries/setup.c
> @@ -803,7 +803,8 @@ static void __init pSeries_setup_arch(void)
>
> pseries_setup_security_mitigations();
> #ifdef CONFIG_PPC_64S_HASH_MMU
> - pseries_lpar_read_hblkrm_characteristics();
> + if (!radix_enabled())
> + pseries_lpar_read_hblkrm_characteristics();
> #endif

As far as I can see the function always exists so the #ifdef can be removed.

>
> /* By default, only probe PCI (can be overridden by rtas_pci) */

2022-05-23 16:10:21

by Laurent Dufour

[permalink] [raw]
Subject: Re: [PATCH] powerpc/64s: Don't read H_BLOCK_REMOVE characteristics in radix mode

On 20/05/2022, 18:15:39, Christophe Leroy wrote:
>
>
> Le 20/05/2022 à 17:57, Laurent Dufour a écrit :
>> There is no need to read the H_BLOCK_REMOVE characteristics when running in
>> Radix mode because this hcall is never called.
>>
>> Signed-off-by: Laurent Dufour <[email protected]>
>> ---
>> arch/powerpc/platforms/pseries/setup.c | 3 ++-
>> 1 file changed, 2 insertions(+), 1 deletion(-)
>>
>> diff --git a/arch/powerpc/platforms/pseries/setup.c b/arch/powerpc/platforms/pseries/setup.c
>> index c9fcc30a0365..654d2b999c25 100644
>> --- a/arch/powerpc/platforms/pseries/setup.c
>> +++ b/arch/powerpc/platforms/pseries/setup.c
>> @@ -803,7 +803,8 @@ static void __init pSeries_setup_arch(void)
>>
>> pseries_setup_security_mitigations();
>> #ifdef CONFIG_PPC_64S_HASH_MMU
>> - pseries_lpar_read_hblkrm_characteristics();
>> + if (!radix_enabled())
>> + pseries_lpar_read_hblkrm_characteristics();
>> #endif
>
> As far as I can see the function always exists so the #ifdef can be removed.

You're right, I'll do that in the v2

>>
>> /* By default, only probe PCI (can be overridden by rtas_pci) */