Message ID | 20170915193149.901180-1-arnd@arndb.de |
---|---|
State | Accepted |
Commit | 57148a64e823bb1f49112fa52a92a7f372cda892 |
Headers | show |
Series | mm: meminit: mark init_reserved_page as __meminit | expand |
On Fri, Sep 15, 2017 at 09:31:30PM +0200, Arnd Bergmann wrote: > The function is called from __meminit context and calls other > __meminit functions but isn't it self mark as such today: > > WARNING: vmlinux.o(.text.unlikely+0x4516): Section mismatch in reference from the function init_reserved_page() to the function .meminit.text:early_pfn_to_nid() > The function init_reserved_page() references > the function __meminit early_pfn_to_nid(). > This is often because init_reserved_page lacks a __meminit > annotation or the annotation of early_pfn_to_nid is wrong. > > On most compilers, we don't notice this because the function > gets inlined all the time. Adding __meminit here fixes the > harmless warning for the old versions and is generally the > correct annotation. > > Fixes: 7e18adb4f80b ("mm: meminit: initialise remaining struct pages in parallel with kswapd") > Signed-off-by: Arnd Bergmann <arnd@arndb.de> Acked-by: Mel Gorman <mgorman@techsingularity.net> -- Mel Gorman SUSE Labs
diff --git a/mm/page_alloc.c b/mm/page_alloc.c index a123dee01872..ff45b8ebace3 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -1190,7 +1190,7 @@ static void __meminit __init_single_pfn(unsigned long pfn, unsigned long zone, } #ifdef CONFIG_DEFERRED_STRUCT_PAGE_INIT -static void init_reserved_page(unsigned long pfn) +static void __meminit init_reserved_page(unsigned long pfn) { pg_data_t *pgdat; int nid, zid;
The function is called from __meminit context and calls other __meminit functions but isn't it self mark as such today: WARNING: vmlinux.o(.text.unlikely+0x4516): Section mismatch in reference from the function init_reserved_page() to the function .meminit.text:early_pfn_to_nid() The function init_reserved_page() references the function __meminit early_pfn_to_nid(). This is often because init_reserved_page lacks a __meminit annotation or the annotation of early_pfn_to_nid is wrong. On most compilers, we don't notice this because the function gets inlined all the time. Adding __meminit here fixes the harmless warning for the old versions and is generally the correct annotation. Fixes: 7e18adb4f80b ("mm: meminit: initialise remaining struct pages in parallel with kswapd") Signed-off-by: Arnd Bergmann <arnd@arndb.de> --- mm/page_alloc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- 2.9.0