Commit a2f3aa02576632cdb ("[PATCH] Fix sparsemem on Cell") fixed an oops
experienced on the Cell architecture when init-time functions, early_*(),
are called at runtime by introducing an 'enum memmap_context' parameter
to memmap_init_zone() and init_currently_empty_zone(). This parameter is
intended to be used to tell whether the call of these two functions is
being made on behalf of a hotplug event, or happening at boot-time.
However, init_currently_empty_zone() does not use this parameter at all,
so remove it.

Signed-off-by: Yaowei Bai <bywxiao...@163.com>
---
 include/linux/mmzone.h | 3 +--
 mm/memory_hotplug.c    | 4 ++--
 mm/page_alloc.c        | 6 ++----
 3 files changed, 5 insertions(+), 8 deletions(-)

diff --git a/include/linux/mmzone.h b/include/linux/mmzone.h
index 754c259..4fdb8e3 100644
--- a/include/linux/mmzone.h
+++ b/include/linux/mmzone.h
@@ -808,8 +808,7 @@ enum memmap_context {
        MEMMAP_HOTPLUG,
 };
 extern int init_currently_empty_zone(struct zone *zone, unsigned long 
start_pfn,
-                                    unsigned long size,
-                                    enum memmap_context context);
+                                    unsigned long size);
 
 extern void lruvec_init(struct lruvec *lruvec);
 
diff --git a/mm/memory_hotplug.c b/mm/memory_hotplug.c
index 6da82bc..7ae58a5 100644
--- a/mm/memory_hotplug.c
+++ b/mm/memory_hotplug.c
@@ -339,8 +339,8 @@ static int __ref ensure_zone_is_initialized(struct zone 
*zone,
                        unsigned long start_pfn, unsigned long num_pages)
 {
        if (!zone_is_initialized(zone))
-               return init_currently_empty_zone(zone, start_pfn, num_pages,
-                                                MEMMAP_HOTPLUG);
+               return init_currently_empty_zone(zone, start_pfn, num_pages);
+
        return 0;
 }
 
diff --git a/mm/page_alloc.c b/mm/page_alloc.c
index 5b5240b..c562d13 100644
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -4875,8 +4875,7 @@ static __meminit void zone_pcp_init(struct zone *zone)
 
 int __meminit init_currently_empty_zone(struct zone *zone,
                                        unsigned long zone_start_pfn,
-                                       unsigned long size,
-                                       enum memmap_context context)
+                                       unsigned long size)
 {
        struct pglist_data *pgdat = zone->zone_pgdat;
        int ret;
@@ -5389,8 +5388,7 @@ static void __paginginit free_area_init_core(struct 
pglist_data *pgdat,
 
                set_pageblock_order();
                setup_usemap(pgdat, zone, zone_start_pfn, size);
-               ret = init_currently_empty_zone(zone, zone_start_pfn,
-                                               size, MEMMAP_EARLY);
+               ret = init_currently_empty_zone(zone, zone_start_pfn, size);
                BUG_ON(ret);
                memmap_init(size, nid, j, zone_start_pfn);
                zone_start_pfn += size;
-- 
1.9.1


--
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