[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <50DBBC40.6040700@cn.fujitsu.com>
Date: Thu, 27 Dec 2012 11:10:56 +0800
From: Tang Chen <tangchen@...fujitsu.com>
To: Kamezawa Hiroyuki <kamezawa.hiroyu@...fujitsu.com>
CC: akpm@...ux-foundation.org, rientjes@...gle.com, liuj97@...il.com,
len.brown@...el.com, benh@...nel.crashing.org, paulus@...ba.org,
cl@...ux.com, minchan.kim@...il.com,
kosaki.motohiro@...fujitsu.com, isimatu.yasuaki@...fujitsu.com,
wujianguo@...wei.com, wency@...fujitsu.com, hpa@...or.com,
linfeng@...fujitsu.com, laijs@...fujitsu.com, mgorman@...e.de,
yinghai@...nel.org, x86@...nel.org, linux-mm@...ck.org,
linux-kernel@...r.kernel.org, linuxppc-dev@...ts.ozlabs.org,
linux-acpi@...r.kernel.org, linux-s390@...r.kernel.org,
linux-sh@...r.kernel.org, linux-ia64@...r.kernel.org,
cmetcalf@...era.com, sparclinux@...r.kernel.org
Subject: Re: [PATCH v5 02/14] memory-hotplug: check whether all memory blocks
are offlined or not when removing memory
On 12/26/2012 11:10 AM, Kamezawa Hiroyuki wrote:
> (2012/12/24 21:09), Tang Chen wrote:
>> From: Yasuaki Ishimatsu<isimatu.yasuaki@...fujitsu.com>
>>
>> We remove the memory like this:
>> 1. lock memory hotplug
>> 2. offline a memory block
>> 3. unlock memory hotplug
>> 4. repeat 1-3 to offline all memory blocks
>> 5. lock memory hotplug
>> 6. remove memory(TODO)
>> 7. unlock memory hotplug
>>
>> All memory blocks must be offlined before removing memory. But we don't hold
>> the lock in the whole operation. So we should check whether all memory blocks
>> are offlined before step6. Otherwise, kernel maybe panicked.
>>
>> Signed-off-by: Wen Congyang<wency@...fujitsu.com>
>> Signed-off-by: Yasuaki Ishimatsu<isimatu.yasuaki@...fujitsu.com>
>
> Acked-by: KAMEZAWA Hiroyuki<kamezawa.hiroyu@...fujitsu.com>
>
> a nitpick below.
>
>> +
>> + for (pfn = start_pfn; pfn< end_pfn; pfn += PAGES_PER_SECTION) {
>
> I prefer adding mem = NULL at the start of this for().
Hi Kamezawa-san,
Added, thanks. :)
>
>> + section_nr = pfn_to_section_nr(pfn);
>> + if (!present_section_nr(section_nr))
>> + continue;
>> +
>> + section = __nr_to_section(section_nr);
>> + /* same memblock? */
>> + if (mem)
>> + if ((section_nr>= mem->start_section_nr)&&
>> + (section_nr<= mem->end_section_nr))
>> + continue;
>> +
>
> Thanks,
> -Kame
>
>
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists