Re: [PATCH] powerpc/pseries: Don't give a warning when HPT resizing isn't available

From: Michael Ellerman
Date: Mon Mar 20 2017 - 06:00:03 EST


Michael Ellerman <michael@xxxxxxxxxxxxxx> writes:

> David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> writes:
>
>> As of 438cc81a41 "powerpc/pseries: Automatically resize HPT for memory hot
>> add/remove" when running on the pseries platform, we always attempt to
>> use the PAPR extension to resize the hashed page table (HPT) when we add
>> or remove memory.
>>
>> This is fine, but when the extension is available we'll give a harmless,
>> but scary warning. This patch suppresses the warning in this case. It
>> will still warn if the feature is supposed to be available, but didn't
>> work.
>>
>> Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
>> ---
>> arch/powerpc/mm/hash_utils_64.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> Kind of cosmetic, but getting an error message on every memory hot
>> plug/unplug attempt if your host doesn't support HPT resizing is
>> pretty ugly. So I think this is a candidate for quick inclusion.
>
> Yeah thanks, I forgot I was going to send a patch for it.
>
> I was thinking of doing the following instead, or maybe we can do both?
>
> diff --git a/arch/powerpc/platforms/pseries/lpar.c b/arch/powerpc/platforms/pseries/lpar.c
> index 251060cf1713..8b1fe895daa3 100644
> --- a/arch/powerpc/platforms/pseries/lpar.c
> +++ b/arch/powerpc/platforms/pseries/lpar.c
> @@ -751,7 +751,9 @@ void __init hpte_init_pseries(void)
> mmu_hash_ops.flush_hash_range = pSeries_lpar_flush_hash_range;
> mmu_hash_ops.hpte_clear_all = pseries_hpte_clear_all;
> mmu_hash_ops.hugepage_invalidate = pSeries_lpar_hugepage_invalidate;
> - mmu_hash_ops.resize_hpt = pseries_lpar_resize_hpt;
> +
> + if (firmware_has_feature(FW_FEATURE_HPT_RESIZE))
> + mmu_hash_ops.resize_hpt = pseries_lpar_resize_hpt;
> }
>
> void radix_init_pseries(void)

Applied to powerpc fixes.

https://git.kernel.org/powerpc/c/8971e1c79d3f6c9a5e6f7a65c50c41

cheers