Re: [PATCH] mm: enable page poisoning early at boot

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 03/29/2017 10:04 AM, Laura Abbott wrote:
> On 03/24/2017 05:24 AM, Vinayak Menon wrote:
>> On SPARSEMEM systems page poisoning is enabled after buddy is up, because
>> of the dependency on page extension init. This causes the pages released
>> by free_all_bootmem not to be poisoned. This either delays or misses
>> the identification of some issues because the pages have to undergo another
>> cycle of alloc-free-alloc for any corruption to be detected.
>> Enable page poisoning early by getting rid of the PAGE_EXT_DEBUG_POISON
>> flag. Since all the free pages will now be poisoned, the flag need not be
>> verified before checking the poison during an alloc.
>>
>> Signed-off-by: Vinayak Menon <vinmenon@xxxxxxxxxxxxxx>
>> ---
>>
>> An RFC was sent earlier (http://www.spinics.net/lists/linux-mm/msg123142.html)
>> Not sure if there exists a code path that can free pages to buddy skipping
>> kernel_poison_pages, making the flag PAGE_EXT_DEBUG_POISON a necessity. But
>> the tests have not shown any issues. As per Laura's suggestion, the patch was
>> tested with HIBERNATION enabled and no issues were seen.
>>
> 
> I gave this a spin on some of my machines and it appears to be working
> okay. I wish we had a bit more context about why it was necessary to track
> the poison in the page itself.
> 
> This change means that we shouldn't need the "select PAGE_EXTENSION"
> anymore so that can be dropped. If you do that, you can add
> 
> Acked-by: Laura Abbott <labbott@xxxxxxxxxx>
> 

Actually never mind on dropping the select. It's still needed for
the guard page as well. Longer term it might be worth separating
that out as well.

You can still take my Ack.

Thanks,
Laura

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@xxxxxxxxx.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@xxxxxxxxx";> email@xxxxxxxxx </a>



[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]
  Powered by Linux