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-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to