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
-- To unsubscribe from this list: send the line "unsubscribe linux-doc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html