[RFC v9 PATCH 20/21] memory-hotplug: clear hwpoisoned flag when onlining pages

Wen Congyang wency at cn.fujitsu.com
Thu Sep 6 18:41:57 EST 2012


At 09/06/2012 03:27 PM, andywu106建国 Wrote:
> 2012/9/5 <wency at cn.fujitsu.com>
>>
>> From: Wen Congyang <wency at cn.fujitsu.com>
>>
>> hwpoisoned may set when we offline a page by the sysfs interface
>> /sys/devices/system/memory/soft_offline_page or
>> /sys/devices/system/memory/hard_offline_page. If we don't clear
>> this flag when onlining pages, this page can't be freed, and will
>> not in free list. So we can't offline these pages again. So we
>> should clear this flag when onlining pages.
>>
>> CC: David Rientjes <rientjes at google.com>
>> CC: Jiang Liu <liuj97 at gmail.com>
>> CC: Len Brown <len.brown at intel.com>
>> CC: Benjamin Herrenschmidt <benh at kernel.crashing.org>
>> CC: Paul Mackerras <paulus at samba.org>
>> CC: Christoph Lameter <cl at linux.com>
>> Cc: Minchan Kim <minchan.kim at gmail.com>
>> CC: Andrew Morton <akpm at linux-foundation.org>
>> CC: KOSAKI Motohiro <kosaki.motohiro at jp.fujitsu.com>
>> CC: Yasuaki Ishimatsu <isimatu.yasuaki at jp.fujitsu.com>
>> Signed-off-by: Wen Congyang <wency at cn.fujitsu.com>
>> ---
>>  mm/memory_hotplug.c |    5 +++++
>>  1 files changed, 5 insertions(+), 0 deletions(-)
>>
>> diff --git a/mm/memory_hotplug.c b/mm/memory_hotplug.c
>> index 270c249..140c080 100644
>> --- a/mm/memory_hotplug.c
>> +++ b/mm/memory_hotplug.c
>> @@ -661,6 +661,11 @@ EXPORT_SYMBOL_GPL(__online_page_increment_counters);
>>
>>  void __online_page_free(struct page *page)
>>  {
>> +#ifdef CONFIG_MEMORY_FAILURE
>> +       /* The page may be marked HWPoisoned by soft/hard offline page */
>> +       ClearPageHWPoison(page);
> 
> Hi Congyang,
> I think you should decrease mce_bad_pages counter her
> atomic_long_sub(1, &mce_bad_pages);

Yes, thanks for pointing it out.

Thanks
Wen Congyang

> 
>>
>> +#endif
>> +
>>         ClearPageReserved(page);
>>         init_page_count(page);
>>         __free_page(page);
>> --
>> 1.7.1
>>
>> --
>> To unsubscribe, send a message with 'unsubscribe linux-mm' in
>> the body to majordomo at kvack.org.  For more info on Linux MM,
>> see: http://www.linux-mm.org/ .
>> Don't email: <a href=mailto:"dont at kvack.org"> email at kvack.org </a>
> 



More information about the Linuxppc-dev mailing list