Thread (47 messages) 47 messages, 6 authors, 2013-02-07

Re: [PATCH v5 02/14] memory-hotplug: check whether all memory blocks are offlined or not when removing memory

From: Tang Chen <hidden>
Date: 2012-12-27 03:11:57
Also in: linux-acpi, linux-mm, linux-s390, linux-sh, lkml, sparclinux

On 12/26/2012 11:10 AM, Kamezawa Hiroyuki wrote:
(2012/12/24 21:09), Tang Chen wrote:
quoted
From: Yasuaki Ishimatsu<redacted>

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<redacted>
Signed-off-by: Yasuaki Ishimatsu<redacted>
Acked-by: KAMEZAWA Hiroyuki<redacted>

a nitpick below.
quoted
+
+	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. :)
quoted
+		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

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help