Subject: Re: mmotm 2012-10-22-17-08 uploaded (memory_hotplug.c)

From: Michal Hocko <[email-masked]>
Date: Tue, 23 Oct 2012 12:26:26 +0200

On Mon 22-10-12 21:40:09, Randy Dunlap wrote:
> On 10/22/2012 05:09 PM, [email-masked] wrote:
> 
> > The mm-of-the-moment snapshot 2012-10-22-17-08 has been uploaded to
> > 
> >    http://www.ozlabs.org/~akpm/mmotm/
> > 
> > mmotm-readme.txt says
> > 
> > README for mm-of-the-moment:
> > 
> > http://www.ozlabs.org/~akpm/mmotm/
> > 
> > This is a snapshot of my -mm patch queue.  Uploaded at random hopefully
> > more than once a week.
> > 
> 
> 
> 
> on x86_64, when CONFIG_MEMORY_HOTREMOVE is not enabled:
> 
> mm/built-in.o: In function `online_pages':
> (.ref.text+0x10e7): undefined reference to `zone_pcp_reset'

Caused by memory-hotplug-allocate-zones-pcp-before-onlining-pages.patch.
And fixed by. Andrew either fold this one in to the above one or keep it
separate what works better with you.
---
>>From e8d79e446b00e57c195c59570df0f2ec435ca39d Mon Sep 17 00:00:00 2001
From: Michal Hocko <[email-masked]>
Date: Tue, 23 Oct 2012 11:07:11 +0200
Subject: [PATCH] mm: make zone_pcp_reset independ on MEMORY_HOTREMOVE

340175b7 (mm/hotplug: free zone->pageset when a zone becomes empty)
introduced zone_pcp_reset and hided it inside CONFIG_MEMORY_HOTREMOVE.
Since "memory-hotplug: allocate zone's pcp before onlining pages" the
function is also called from online_pages which is defined outside
CONFIG_MEMORY_HOTREMOVE which causes a linkage error.

The function, although not used outside of MEMORY_{HOTPLUT,HOTREMOVE},
seems like universal enough so let's keep it at its current location
and only remove the HOTREMOVE guard.

Signed-off-by: Michal Hocko <[email-masked]>
Reviewed-by: Wen Congyang <[email-masked]>
Cc: David Rientjes <[email-masked]>
Cc: Jiang Liu <[email-masked]>
Cc: Len Brown <[email-masked]>
Cc: Benjamin Herrenschmidt <[email-masked]>
Cc: Paul Mackerras <[email-masked]>
Cc: Christoph Lameter <[email-masked]>
Cc: Minchan Kim <[email-masked]>
Cc: KOSAKI Motohiro <[email-masked]>
Cc: Yasuaki Ishimatsu <[email-masked]>
Cc: Dave Hansen <[email-masked]>
Cc: Mel Gorman <[email-masked]>
---
 mm/page_alloc.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/mm/page_alloc.c b/mm/page_alloc.c
index e29912e..30e359c 100644
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -5981,7 +5981,6 @@ void __meminit zone_pcp_update(struct zone *zone)
 }
 #endif
 
-#ifdef CONFIG_MEMORY_HOTREMOVE
 void zone_pcp_reset(struct zone *zone)
 {
 	unsigned long flags;
@@ -6001,6 +6000,7 @@ void zone_pcp_reset(struct zone *zone)
 	local_irq_restore(flags);
 }
 
+#ifdef CONFIG_MEMORY_HOTREMOVE
 /*
  * All pages in the range must be isolated before calling this.
  */
-- 
1.7.10.4

-- 
Michal Hocko
SUSE Labs

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to [email-masked].  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"[email-masked]"> [email-masked] </a>