Messages in this thread Patch in this message | | | Date | Wed, 22 May 2013 12:43:14 +0800 | From | Tang Chen <> | Subject | Re: [PATCH v2 12/13] x86, numa, acpi, memory-hotplug: Make movablecore=acpi have higher priority. |
| |
Hi Vasilis,
Maybe the following two problems are the cause of the reboot panic problem in qemu you mentioned.
On 04/30/2013 05:21 PM, Tang Chen wrote: ...... > diff --git a/mm/page_alloc.c b/mm/page_alloc.c > index b9ea143..2fe9ebf 100644 > --- a/mm/page_alloc.c > +++ b/mm/page_alloc.c > @@ -4793,9 +4793,31 @@ static void __init find_zone_movable_pfns_for_nodes(void) > nodemask_t saved_node_state = node_states[N_MEMORY]; > unsigned long totalpages = early_calculate_totalpages(); > int usable_nodes = nodes_weight(node_states[N_MEMORY]); > + struct memblock_type *reserved =&memblock.reserved; >
Need to call find_usable_zone_for_movable() here before goto out.
> /* > - * If movablecore was specified, calculate what size of > + * If movablecore=acpi was specified, then zone_movable_pfn[] has been > + * initialized, and no more work needs to do. > + * NOTE: In this case, we ignore kernelcore option. > + */ > + if (movablecore_enable_srat) { > + for (i = 0; i< reserved->cnt; i++) { > + if (!memblock_is_hotpluggable(&reserved->regions[i])) > + continue; > + > + nid = reserved->regions[i].nid; > + > + usable_startpfn = reserved->regions[i].base;
Here, it should be PFN_DOWN(reserved->regions[i].base).
Thanks. :)
> + zone_movable_pfn[nid] = zone_movable_pfn[nid] ? > + min(usable_startpfn, zone_movable_pfn[nid]) : > + usable_startpfn; > + } > + > + goto out; > + } > + > + /* > + * If movablecore=nn[KMG] was specified, calculate what size of > * kernelcore that corresponds so that memory usable for > * any allocation type is evenly spread. If both kernelcore > * and movablecore are specified, then the value of kernelcore
| |