From: Michal Hocko <mhocko@kernel.org> To: Tobias Regnery <tobias.regnery@gmail.com> Cc: linux-mm@kvack.org, Andrew Morton <akpm@linux-foundation.org>, Mel Gorman <mgorman@suse.de>, Vlastimil Babka <vbabka@suse.cz>, Andrea Arcangeli <aarcange@redhat.com>, Reza Arbab <arbab@linux.vnet.ibm.com>, Yasuaki Ishimatsu <yasu.isimatu@gmail.com>, Tang Chen <tangchen@cn.fujitsu.com>, qiuxishi@huawei.com, Kani Toshimitsu <toshi.kani@hpe.com>, slaoub@gmail.com, Joonsoo Kim <js1304@gmail.com>, Andi Kleen <ak@linux.intel.com>, Zhang Zhen <zhenzhang.zhang@huawei.com>, David Rientjes <rientjes@google.com>, Daniel Kiper <daniel.kiper@oracle.com>, Igor Mammedov <imammedo@redhat.com>, Vitaly Kuznetsov <vkuznets@redhat.com>, LKML <linux-kernel@vger.kernel.org>, Dan Williams <dan.j.williams@gmail.com>, Heiko Carstens <heiko.carstens@de.ibm.com>, Lai Jiangshan <laijs@cn.fujitsu.com>, Martin Schwidefsky <schwidefsky@de.ibm.com> Subject: Re: [PATCH 5/6] mm, memory_hotplug: do not associate hotadded memory to zones until online Date: Tue, 4 Apr 2017 14:45:08 +0200 [thread overview] Message-ID: <20170404124508.GK15132@dhcp22.suse.cz> (raw) In-Reply-To: <20170404122119.qsj3bhqse2qp46fi@builder> On Tue 04-04-17 14:21:19, Tobias Regnery wrote: [...] > Hi Michal, Hi > building an x86 allmodconfig with next-20170404 results in the following > section mismatch warnings probably caused by this patch: > > WARNING: mm/built-in.o(.text+0x5a1c2): Section mismatch in reference from the function move_pfn_range_to_zone() to the function .meminit.text:memmap_init_zone() > The function move_pfn_range_to_zone() references > the function __meminit memmap_init_zone(). > This is often because move_pfn_range_to_zone lacks a __meminit > annotation or the annotation of memmap_init_zone is wrong. Right. __add_pages which used to call memmap_init_zone before is __ref (to hide it the checker) which is not the case for move_pfn_range_to_zone. I cannot say I would see the point of separating all meminit functions because they are not going away but using __ref for move_pfn_range_to_zone should be as safe as __add_pages is. > WARNING: mm/built-in.o(.text+0x5a25b): Section mismatch in reference from the function move_pfn_range_to_zone() to the function .meminit.text:init_currently_empty_zone() > The function move_pfn_range_to_zone() references > the function __meminit init_currently_empty_zone(). > This is often because move_pfn_range_to_zone lacks a __meminit > annotation or the annotation of init_currently_empty_zone is wrong. and this is the same thing. Thanks a lot. The following patch should fix it. I will keep it separate to have a reference why this has been done... --- >From 1ff2996125393601a28065c44d790145078483db Mon Sep 17 00:00:00 2001 From: Michal Hocko <mhocko@suse.com> Date: Tue, 4 Apr 2017 14:36:25 +0200 Subject: [PATCH] mm, hotplug: fix the section mismatch warning Tobias has reported following section mismatches introduced by "mm, memory_hotplug: do not associate hotadded memory to zones until online". WARNING: mm/built-in.o(.text+0x5a1c2): Section mismatch in reference from the function move_pfn_range_to_zone() to the function .meminit.text:memmap_init_zone() The function move_pfn_range_to_zone() references the function __meminit memmap_init_zone(). This is often because move_pfn_range_to_zone lacks a __meminit annotation or the annotation of memmap_init_zone is wrong. WARNING: mm/built-in.o(.text+0x5a25b): Section mismatch in reference from the function move_pfn_range_to_zone() to the function .meminit.text:init_currently_empty_zone() The function move_pfn_range_to_zone() references the function __meminit init_currently_empty_zone(). This is often because move_pfn_range_to_zone lacks a __meminit annotation or the annotation of init_currently_empty_zone is wrong. WARNING: vmlinux.o(.text+0x188aa2): Section mismatch in reference from the function move_pfn_range_to_zone() to the function .meminit.text:memmap_init_zone() The function move_pfn_range_to_zone() references the function __meminit memmap_init_zone(). This is often because move_pfn_range_to_zone lacks a __meminit annotation or the annotation of memmap_init_zone is wrong. WARNING: vmlinux.o(.text+0x188b3b): Section mismatch in reference from the function move_pfn_range_to_zone() to the function .meminit.text:init_currently_empty_zone() The function move_pfn_range_to_zone() references the function __meminit init_currently_empty_zone(). This is often because move_pfn_range_to_zone lacks a __meminit annotation or the annotation of init_currently_empty_zone is wrong. Both memmap_init_zone and init_currently_empty_zone are marked __meminit but move_pfn_range_to_zone is used outside of __meminit sections (e.g. devm_memremap_pages) so we have to hide it from the checker by __ref annotation. Reported-by: Tobias Regnery <tobias.regnery@gmail.com> Signed-off-by: Michal Hocko <mhocko@suse.com> --- mm/memory_hotplug.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mm/memory_hotplug.c b/mm/memory_hotplug.c index 0e21b9f67c9d..a358d7a67651 100644 --- a/mm/memory_hotplug.c +++ b/mm/memory_hotplug.c @@ -884,7 +884,7 @@ static void __meminit resize_pgdat_range(struct pglist_data *pgdat, unsigned lon pgdat->node_spanned_pages = max(start_pfn + nr_pages, old_end_pfn) - pgdat->node_start_pfn; } -void move_pfn_range_to_zone(struct zone *zone, +void __ref move_pfn_range_to_zone(struct zone *zone, unsigned long start_pfn, unsigned long nr_pages) { struct pglist_data *pgdat = zone->zone_pgdat; -- 2.11.0 -- Michal Hocko SUSE Labs
WARNING: multiple messages have this Message-ID (diff)
From: Michal Hocko <mhocko@kernel.org> To: Tobias Regnery <tobias.regnery@gmail.com> Cc: linux-mm@kvack.org, Andrew Morton <akpm@linux-foundation.org>, Mel Gorman <mgorman@suse.de>, Vlastimil Babka <vbabka@suse.cz>, Andrea Arcangeli <aarcange@redhat.com>, Reza Arbab <arbab@linux.vnet.ibm.com>, Yasuaki Ishimatsu <yasu.isimatu@gmail.com>, Tang Chen <tangchen@cn.fujitsu.com>, qiuxishi@huawei.com, Kani Toshimitsu <toshi.kani@hpe.com>, slaoub@gmail.com, Joonsoo Kim <js1304@gmail.com>, Andi Kleen <ak@linux.intel.com>, Zhang Zhen <zhenzhang.zhang@huawei.com>, David Rientjes <rientjes@google.com>, Daniel Kiper <daniel.kiper@oracle.com>, Igor Mammedov <imammedo@redhat.com>, Vitaly Kuznetsov <vkuznets@redhat.com>, LKML <linux-kernel@vger.kernel.org>, Dan Williams <dan.j.williams@gmail.com>, Heiko Carstens <heiko.carstens@de.ibm.com>, Lai Jiangshan <laijs@cn.fujitsu.com>, Martin Schwidefsky <schwidefsky@de.ibm.com> Subject: Re: [PATCH 5/6] mm, memory_hotplug: do not associate hotadded memory to zones until online Date: Tue, 4 Apr 2017 14:45:08 +0200 [thread overview] Message-ID: <20170404124508.GK15132@dhcp22.suse.cz> (raw) In-Reply-To: <20170404122119.qsj3bhqse2qp46fi@builder> On Tue 04-04-17 14:21:19, Tobias Regnery wrote: [...] > Hi Michal, Hi > building an x86 allmodconfig with next-20170404 results in the following > section mismatch warnings probably caused by this patch: > > WARNING: mm/built-in.o(.text+0x5a1c2): Section mismatch in reference from the function move_pfn_range_to_zone() to the function .meminit.text:memmap_init_zone() > The function move_pfn_range_to_zone() references > the function __meminit memmap_init_zone(). > This is often because move_pfn_range_to_zone lacks a __meminit > annotation or the annotation of memmap_init_zone is wrong. Right. __add_pages which used to call memmap_init_zone before is __ref (to hide it the checker) which is not the case for move_pfn_range_to_zone. I cannot say I would see the point of separating all meminit functions because they are not going away but using __ref for move_pfn_range_to_zone should be as safe as __add_pages is. > WARNING: mm/built-in.o(.text+0x5a25b): Section mismatch in reference from the function move_pfn_range_to_zone() to the function .meminit.text:init_currently_empty_zone() > The function move_pfn_range_to_zone() references > the function __meminit init_currently_empty_zone(). > This is often because move_pfn_range_to_zone lacks a __meminit > annotation or the annotation of init_currently_empty_zone is wrong. and this is the same thing. Thanks a lot. The following patch should fix it. I will keep it separate to have a reference why this has been done... ---
next prev parent reply other threads:[~2017-04-04 12:45 UTC|newest] Thread overview: 140+ messages / expand[flat|nested] mbox.gz Atom feed top 2017-03-30 11:54 [PATCH 0/6] mm: make movable onlining suck less Michal Hocko 2017-03-30 11:54 ` Michal Hocko 2017-03-30 11:54 ` [PATCH 1/6] mm: get rid of zone_is_initialized Michal Hocko 2017-03-30 11:54 ` Michal Hocko 2017-03-31 3:39 ` Hillf Danton 2017-03-31 3:39 ` Hillf Danton 2017-03-31 6:43 ` Michal Hocko 2017-03-31 6:43 ` Michal Hocko 2017-03-31 6:48 ` Michal Hocko 2017-03-31 6:48 ` Michal Hocko 2017-03-31 7:39 ` [PATCH v1 " Michal Hocko 2017-03-31 7:39 ` Michal Hocko 2017-04-05 8:14 ` Michal Hocko 2017-04-05 8:14 ` Michal Hocko 2017-04-05 9:06 ` Igor Mammedov 2017-04-05 9:06 ` Igor Mammedov 2017-04-05 9:23 ` Michal Hocko 2017-04-05 9:23 ` Michal Hocko 2017-03-30 11:54 ` [PATCH 2/6] mm, tile: drop arch_{add,remove}_memory Michal Hocko 2017-03-30 11:54 ` Michal Hocko 2017-03-30 15:41 ` Chris Metcalf 2017-03-30 15:41 ` Chris Metcalf 2017-03-30 11:54 ` [PATCH 3/6] mm: remove return value from init_currently_empty_zone Michal Hocko 2017-03-30 11:54 ` Michal Hocko 2017-03-31 3:49 ` Hillf Danton 2017-03-31 3:49 ` Hillf Danton 2017-03-31 6:49 ` Michal Hocko 2017-03-31 6:49 ` Michal Hocko 2017-03-31 7:06 ` Hillf Danton 2017-03-31 7:06 ` Hillf Danton 2017-03-31 7:18 ` Michal Hocko 2017-03-31 7:18 ` Michal Hocko 2017-03-31 7:43 ` Michal Hocko 2017-03-31 7:43 ` Michal Hocko 2017-04-03 21:22 ` Reza Arbab 2017-04-03 21:22 ` Reza Arbab 2017-04-04 7:30 ` Michal Hocko 2017-04-04 7:30 ` Michal Hocko 2017-03-30 11:54 ` [PATCH 4/6] mm, memory_hotplug: use node instead of zone in can_online_high_movable Michal Hocko 2017-03-30 11:54 ` Michal Hocko 2017-03-30 11:54 ` [PATCH 5/6] mm, memory_hotplug: do not associate hotadded memory to zones until online Michal Hocko 2017-03-30 11:54 ` Michal Hocko 2017-03-31 6:18 ` Hillf Danton 2017-03-31 6:18 ` Hillf Danton 2017-03-31 6:50 ` Michal Hocko 2017-03-31 6:50 ` Michal Hocko 2017-04-04 12:21 ` Tobias Regnery 2017-04-04 12:21 ` Tobias Regnery 2017-04-04 12:45 ` Michal Hocko [this message] 2017-04-04 12:45 ` Michal Hocko 2017-04-06 8:14 ` Michal Hocko 2017-04-06 8:14 ` Michal Hocko 2017-04-06 12:46 ` Michal Hocko 2017-04-06 12:46 ` Michal Hocko 2017-03-30 11:54 ` [PATCH 6/6] mm, memory_hotplug: remove unused cruft after memory hotplug rework Michal Hocko 2017-03-30 11:54 ` Michal Hocko 2017-03-31 7:46 ` Michal Hocko 2017-03-31 7:46 ` Michal Hocko 2017-03-31 19:19 ` [PATCH 0/6] mm: make movable onlining suck less Heiko Carstens 2017-03-31 19:19 ` Heiko Carstens 2017-04-03 7:34 ` Michal Hocko 2017-04-03 7:34 ` Michal Hocko 2017-04-03 11:55 ` Michal Hocko 2017-04-03 11:55 ` Michal Hocko 2017-04-03 12:20 ` Igor Mammedov 2017-04-03 12:20 ` Igor Mammedov 2017-04-03 19:58 ` Reza Arbab 2017-04-03 19:58 ` Reza Arbab 2017-04-03 20:23 ` Michal Hocko 2017-04-03 20:23 ` Michal Hocko 2017-04-03 20:42 ` Reza Arbab 2017-04-03 20:42 ` Reza Arbab 2017-04-04 7:23 ` Michal Hocko 2017-04-04 7:23 ` Michal Hocko 2017-04-04 7:34 ` Michal Hocko 2017-04-04 7:34 ` Michal Hocko 2017-04-04 8:23 ` Michal Hocko 2017-04-04 8:23 ` Michal Hocko 2017-04-04 15:59 ` Reza Arbab 2017-04-04 15:59 ` Reza Arbab 2017-04-04 16:02 ` Reza Arbab 2017-04-04 16:02 ` Reza Arbab 2017-04-04 16:44 ` Michal Hocko 2017-04-04 16:44 ` Michal Hocko 2017-04-04 18:30 ` Reza Arbab 2017-04-04 18:30 ` Reza Arbab 2017-04-04 19:41 ` Michal Hocko 2017-04-04 19:41 ` Michal Hocko 2017-04-04 21:43 ` Reza Arbab 2017-04-04 21:43 ` Reza Arbab 2017-04-05 6:42 ` Michal Hocko 2017-04-05 6:42 ` Michal Hocko 2017-04-05 9:24 ` Michal Hocko 2017-04-05 9:24 ` Michal Hocko 2017-04-05 14:53 ` Reza Arbab 2017-04-05 14:53 ` Reza Arbab 2017-04-05 15:42 ` Michal Hocko 2017-04-05 15:42 ` Michal Hocko 2017-04-05 17:32 ` Reza Arbab 2017-04-05 17:32 ` Reza Arbab 2017-04-05 18:15 ` Michal Hocko 2017-04-05 18:15 ` Michal Hocko 2017-04-05 19:39 ` Michal Hocko 2017-04-05 19:39 ` Michal Hocko 2017-04-05 21:02 ` Michal Hocko 2017-04-05 21:02 ` Michal Hocko 2017-04-06 11:07 ` Michal Hocko 2017-04-06 11:07 ` Michal Hocko 2017-04-05 15:48 ` Reza Arbab 2017-04-05 15:48 ` Reza Arbab 2017-04-05 16:34 ` Michal Hocko 2017-04-05 16:34 ` Michal Hocko 2017-04-05 20:55 ` Reza Arbab 2017-04-05 20:55 ` Reza Arbab 2017-04-06 9:25 ` Michal Hocko 2017-04-06 9:25 ` Michal Hocko 2017-04-05 13:52 ` Michal Hocko 2017-04-05 13:52 ` Michal Hocko 2017-04-05 15:23 ` Reza Arbab 2017-04-05 15:23 ` Reza Arbab 2017-04-05 6:36 ` Michal Hocko 2017-04-05 6:36 ` Michal Hocko 2017-04-06 13:08 ` Michal Hocko 2017-04-06 13:08 ` Michal Hocko 2017-04-06 15:24 ` Reza Arbab 2017-04-06 15:24 ` Reza Arbab 2017-04-06 15:41 ` Michal Hocko 2017-04-06 15:41 ` Michal Hocko 2017-04-06 15:46 ` Reza Arbab 2017-04-06 15:46 ` Reza Arbab 2017-04-06 16:21 ` Michal Hocko 2017-04-06 16:21 ` Michal Hocko 2017-04-06 16:24 ` Mel Gorman 2017-04-06 16:24 ` Mel Gorman 2017-04-06 16:55 ` Mel Gorman 2017-04-06 16:55 ` Mel Gorman 2017-04-06 17:12 ` Michal Hocko 2017-04-06 17:12 ` Michal Hocko 2017-04-06 17:46 ` Mel Gorman 2017-04-06 17:46 ` Mel Gorman
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20170404124508.GK15132@dhcp22.suse.cz \ --to=mhocko@kernel.org \ --cc=aarcange@redhat.com \ --cc=ak@linux.intel.com \ --cc=akpm@linux-foundation.org \ --cc=arbab@linux.vnet.ibm.com \ --cc=dan.j.williams@gmail.com \ --cc=daniel.kiper@oracle.com \ --cc=heiko.carstens@de.ibm.com \ --cc=imammedo@redhat.com \ --cc=js1304@gmail.com \ --cc=laijs@cn.fujitsu.com \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-mm@kvack.org \ --cc=mgorman@suse.de \ --cc=qiuxishi@huawei.com \ --cc=rientjes@google.com \ --cc=schwidefsky@de.ibm.com \ --cc=slaoub@gmail.com \ --cc=tangchen@cn.fujitsu.com \ --cc=tobias.regnery@gmail.com \ --cc=toshi.kani@hpe.com \ --cc=vbabka@suse.cz \ --cc=vkuznets@redhat.com \ --cc=yasu.isimatu@gmail.com \ --cc=zhenzhang.zhang@huawei.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.