Re: [PATCH] mm, page_alloc: really disable DEBUG_PAGEALLOC with hibernation

From: Vlastimil Babka
Date: Wed May 19 2021 - 11:48:21 EST


On 5/19/21 5:30 PM, David Hildenbrand wrote:
> On 19.05.21 17:28, Krzysztof Kozlowski wrote:
>> The documentation of DEBUG_PAGEALLOC states that it cannot be used with
>> hibernation, however the Kconfig entry would allow it if
>> ARCH_SUPPORTS_DEBUG_PAGEALLOC && !PPC && !SPARC.
>>
>> Fixes: ee3b4290aec0 ("generic debug pagealloc: build fix")
>> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxxxxx>
>> ---
>>   mm/Kconfig.debug | 2 +-
>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/mm/Kconfig.debug b/mm/Kconfig.debug
>> index 1e73717802f8..0ace5b2a9d04 100644
>> --- a/mm/Kconfig.debug
>> +++ b/mm/Kconfig.debug
>> @@ -11,7 +11,7 @@ config PAGE_EXTENSION
>>   config DEBUG_PAGEALLOC
>>       bool "Debug page memory allocations"
>>       depends on DEBUG_KERNEL
>> -    depends on !HIBERNATION || ARCH_SUPPORTS_DEBUG_PAGEALLOC && !PPC && !SPARC
>> +    depends on !HIBERNATION && ARCH_SUPPORTS_DEBUG_PAGEALLOC && !PPC && !SPARC
>>       select PAGE_POISONING if !ARCH_SUPPORTS_DEBUG_PAGEALLOC
>>       help
>>         Unmap pages from the kernel linear mapping after free_pages().
>>
>
> I remember this should be working now, as we temporarily map the pages in the
> direct map when hibernating?

Yeah, and if the problem was the page poisoning based implementation/fallback,
that was also fixed.

The current dependencies come from the unification by ee3b4290aec03

The question is if PPC and SPARC still really need to disable hibernation.