On 03/30/11 15:05, Andrew Morton wrote: > On Thu, 24 Mar 2011 13:24:35 -0700 > Randy Dunlap <randy.dunlap@xxxxxxxxxx> wrote: > >> From: Randy Dunlap <randy.dunlap@xxxxxxxxxx> >> >> Fix section mismatch warning: >> setup_zone_pageset() is called from build_all_zonelists(), >> which can be called at any time by NUMA sysctl handler >> numa_zonelist_order_handler(), >> so it should not be marked as __meminit. >> >> WARNING: mm/built-in.o(.text+0xab17): Section mismatch in reference from the function build_all_zonelists() to the function .meminit.text:setup_zone_pageset() >> The function build_all_zonelists() references >> the function __meminit setup_zone_pageset(). >> This is often because build_all_zonelists lacks a __meminit >> annotation or the annotation of setup_zone_pageset is wrong. >> >> Signed-off-by: Randy Dunlap <randy.dunlap@xxxxxxxxxx> >> --- >> mm/page_alloc.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> --- linux-2.6.38-git13.orig/mm/page_alloc.c >> +++ linux-2.6.38-git13/mm/page_alloc.c >> @@ -3511,7 +3511,7 @@ static void setup_pagelist_highmark(stru >> pcp->batch = PAGE_SHIFT * 8; >> } >> >> -static __meminit void setup_zone_pageset(struct zone *zone) >> +static void setup_zone_pageset(struct zone *zone) >> { >> int cpu; >> > > I already merged Paul Mundt's patch whcih marks build_all_zonelists() > as __ref. That seems a better solution? Merged where? mmotm? 2.6.39-rc1 still has this section mismatch warning. If Paul's patch fixes the warning, I'm OK with it. > I'm rather wondering if we did all this the right way anyway. The call > from build_all_zonelists() into setup_zone_pageset() is inside #ifdef > CONFIG_MEMORY_HOTPLUG, so there is clearly no bug here. But the build > system generated a warning anyway. Why'd it do that? It's a mystery. > If we'd handled the section via > > #ifdef CONFIG_MEMORY_HOTPLUG > #define __meminit > #else > #define __meminit __init > #endif > > of similar then that would fix things. iirc we used to do it that > way... Yes, that older way made more sense to me. -- ~Randy *** Remember to use Documentation/SubmitChecklist when testing your code *** -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxxx For more info on Linux MM, see: http://www.linux-mm.org/ . Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>