mm/page_alloc.c: silence build_all_zonelists() section mismatch
The memory hotplug case involves calling to build_all_zonelists() which in turns calls in to setup_zone_pageset(). The latter is marked __meminit while build_all_zonelists() itself has no particular annotation. build_all_zonelists() is only handed a non-NULL pointer in the case of memory hotplug through an existing __meminit path, so the setup_zone_pageset() reference is always safe. The options as such are either to flag build_all_zonelists() as __ref (as per __build_all_zonelists()), or to simply discard the __meminit annotation from setup_zone_pageset(). Signed-off-by: Paul Mundt <lethal@linux-sh.org> Acked-by: Mel Gorman <mel@csn.ul.ie> Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> Acked-by: Randy Dunlap <randy.dunlap@oracle.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Родитель
c340b1d640
Коммит
9f6ae448bf
|
@ -3176,7 +3176,7 @@ static __init_refok int __build_all_zonelists(void *data)
|
|||
* Called with zonelists_mutex held always
|
||||
* unless system_state == SYSTEM_BOOTING.
|
||||
*/
|
||||
void build_all_zonelists(void *data)
|
||||
void __ref build_all_zonelists(void *data)
|
||||
{
|
||||
set_zonelist_order();
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче