From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 4FD1CC369CB for ; Wed, 23 Apr 2025 16:08:38 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C709B6B0095; Wed, 23 Apr 2025 12:08:35 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id BFBD76B0099; Wed, 23 Apr 2025 12:08:35 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id A99736B009A; Wed, 23 Apr 2025 12:08:35 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 8CE4C6B0095 for ; Wed, 23 Apr 2025 12:08:35 -0400 (EDT) Received: from smtpin30.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 2FF1EC116C for ; Wed, 23 Apr 2025 16:08:37 +0000 (UTC) X-FDA: 83365791474.30.E0C943B Received: from sea.source.kernel.org (sea.source.kernel.org [172.234.252.31]) by imf14.hostedemail.com (Postfix) with ESMTP id 7202710000E for ; Wed, 23 Apr 2025 16:08:35 +0000 (UTC) Authentication-Results: imf14.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=j3HKBKcd; dmarc=pass (policy=quarantine) header.from=kernel.org; spf=pass (imf14.hostedemail.com: domain of arnd@kernel.org designates 172.234.252.31 as permitted sender) smtp.mailfrom=arnd@kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1745424515; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-transfer-encoding:content-transfer-encoding: in-reply-to:references:dkim-signature; bh=DfSmL9ftIhqvoKip7Ro85ACGXf71B6fzmnCjlM0lYjE=; b=fJo4QOCXSPtNkVGPTK5sdUwZFlZ+sU1BbQMoyQlCKaFj/mCxl5cn0IqWk6Dt2TIaQ/goVT 1aEf3bngwRfCSfqTqoo7GvQgcDRkpT1zp+Pexop83QP8pKc65SFNiJOL9GoWi5vzVW6uGQ 1D0Wi4IbHgfxDanED4/bkfupM4csw8w= ARC-Authentication-Results: i=1; imf14.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=j3HKBKcd; dmarc=pass (policy=quarantine) header.from=kernel.org; spf=pass (imf14.hostedemail.com: domain of arnd@kernel.org designates 172.234.252.31 as permitted sender) smtp.mailfrom=arnd@kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1745424515; a=rsa-sha256; cv=none; b=vexw8W9q/4vgXppJdhjsKaEbAcA4DFL1fs7nxK0tkXkopptYVHLhlGy/UCxoKJ3GzGHpLE GJOd9vNrwlBWQscMevE8wE+o6dy0na3vTABbV/24spDbO3ufQ4aJZcuk83a5WGGvT6M3Ik S1dnwFnh5dDrS+ZOpq6mFYHXHm6Avp0= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by sea.source.kernel.org (Postfix) with ESMTP id D82FC4A36F; Wed, 23 Apr 2025 16:08:32 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 5DD56C4CEE2; Wed, 23 Apr 2025 16:08:30 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1745424514; bh=tecvClq+rk+3b8V+Qs3YoQ0Th7ilIVvh0CG+JCzviVk=; h=From:To:Cc:Subject:Date:From; b=j3HKBKcdJQYtNXhAM8rAx8+6fquRpLE0nJp2ticfzUo+6Pl7cPWkOoWYaBUjOccgp Xiu+v3802FVYg93dhOIFy+TiE6AfbEuEC0SXxStiT7DhK1lSFJwn+XT1WqaDN3V5IZ Qe2XKJklG8ju1ruCQFBt8ud2BxEoBusCaXhUfSWzydn0jiRhvfJNos9dwVinfc6Fy1 XnhAdCo8rkRB4PhgObOQ0uU6FnIbh5hJlA7BWl8f68aMf8k4XPLhkpnlBuy+ne7UML 2bxi181/vNwnCNzZwgsuHbL53b8as9D6EAWGF8GYdX7B8fKniosn/PYs2idnrTKQx4 9totkA2UUB1rA== From: Arnd Bergmann To: Andrew Morton , Mike Rapoport , Changyuan Lyu Cc: Arnd Bergmann , David Hildenbrand , Vlastimil Babka , "Matthew Wilcox (Oracle)" , Lorenzo Stoakes , Kefeng Wang , Ryan Roberts , Barry Song , Jeff Xu , Wei Yang , Baoquan He , Suren Baghdasaryan , Frank van der Linden , York Jasper Niebuhr , linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: [PATCH] memblock: mark init_deferred_page as __init_memblock Date: Wed, 23 Apr 2025 18:08:08 +0200 Message-Id: <20250423160824.1498493-1-arnd@kernel.org> X-Mailer: git-send-email 2.39.5 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Stat-Signature: 9wa41exkaqtzugmkdsjqyyi9j3354qi6 X-Rspamd-Queue-Id: 7202710000E X-Rspam-User: X-Rspamd-Server: rspam05 X-HE-Tag: 1745424515-72146 X-HE-Meta: U2FsdGVkX192h//X1C7yKWjpyYf18iYxw04FNCJlAeRbqrglOlvQnCKxgLfgt6eELe9NSCxslAeLL0lr9Gb4AMQG7dmUWacO5QPt1v7qY/6pByok7Xn/9zJAXKqm33NWTwieXz+cZ5mVn7vW17CG+dH+QwYmL6hNySOLeuz8CKvRbWe9j1ulA5R+fyee9SvEqJpXbPM5Xi4ZCA6upGVWzqI5mT1LRINokNuZLdllfMjEpHNatKsaA/5cNYzLOs/5llsUUBziimvzjDnPzI3IkAsRlouxJ0y7EY48iqyb+runEPUxHA+W6ZlhlBDDW5bv8doFMNIYAGVWiCywKxD8vejHl2VduU5M4hwxQeoPd0vImtPFbe9Nz0GT1jhJTBBwJ4UKXpcYCnn6o5dFBf5yP8xrgj6Ngvb7WJ1CjVmJ293SpwhFHJV8zOmtIKnFVFrjRrz+8zluviH28J/gEPwvjxQxORC5wk73GGkKbZ7HzVXwG4Pbwhe6MXWTyG1c2crY8jzOPrGiRjt+ExnrhGa7QKmQnWOazKCOuWho+de0Zg3XuNGEAcO1/y6l75LOvT1tC2PsnOZcUgnxTpmKmDuzCtPUQXVdgMOMIiVJg193Il8nVim8x0ddxqt6VrlgKA0ttcNAVtXu2kr70beXmVm9mtLWsXyRStdvUFYctJq3X2ZJrnzjPnq8g/XYMSb6cSyBtU2mKw5/Nz5SwPmzMSRo+/E8Nft8mHcwvx6gMF29xwIakBTn999uJj8cOHxuwR4EXpsbJUxk4RXtjrtVd2ntOAf4AVIWtCI5mzK5semT6+p1LadvgzfYySVQF4jVvibbsh6q+B3zJOyEDCDiQ9jD3Xfp1N000kiZM9yJ4vdhKttUCS4/VUDc9N2L7NoI9vz/GQKEmlPD+K55AAo9jZkg4HRpuKODy4mLYTmYZc4swFVBjDjt46txtwi2eoJgA7fFuaqVr5Fh5jQn8umNE7c 5x7GWZ/Z niG/RYDXtd+oSeLKRyIzVvGc6Jwo0ELvY7ohp810m/w9V/8K1n5/N5/MdAtCjNxd8/9T/RsfAgvWVYiqHXrtJuiE8pVlNnRYB23zhSALYkOs9fEB7si96voqNqvlQur6SaRB3qFlWSgEjlgURUHFuCNDWK7NzYNuo0Q8Krcy60E5MGYMkp+VTkJJUbzKMzqsXXvwVxpTfN8/EknbCaHnB7y9U6fI09OHCs9Fp7OHNwYyUPRvZIzDoj3yaQ1bueE8HQnksvkhfY1Ip86BlUSTod7FfsUuThgsAAOVfrulnkO52mVTyI+c1ql2YC6yV6iur4M0+FfqjzDzrfTM= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: From: Arnd Bergmann On architectures that set CONFIG_ARCH_KEEP_MEMBLOCK, memmap_init_kho_scratch_pages is not discarded but calls a function that is: WARNING: modpost: vmlinux: section mismatch in reference: memmap_init_kho_scratch_pages+0x120 (section: .text) -> init_deferred_page (section: .init.text) ERROR: modpost: Section mismatches detected. Set CONFIG_SECTION_MISMATCH_WARN_ONLY=y to allow them. Mark init_deferred_page the same way as memmap_init_kho_scratch_pages to avoid that warning. Unfortunately this requires marking additional functions the same way to have them stay around as well. Ideally memmap_init_kho_scratch_pages would become __meminit instead of __init_memblock, but I could not convince myself that this is safe. Fixes: 1b7936623970 ("memblock: introduce memmap_init_kho_scratch()") Signed-off-by: Arnd Bergmann --- mm/internal.h | 7 ++++--- mm/mm_init.c | 8 ++++---- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/mm/internal.h b/mm/internal.h index 838f840ded83..40464f755092 100644 --- a/mm/internal.h +++ b/mm/internal.h @@ -9,6 +9,7 @@ #include #include +#include #include #include #include @@ -543,7 +544,7 @@ extern int defrag_mode; void setup_per_zone_wmarks(void); void calculate_min_free_kbytes(void); -int __meminit init_per_zone_wmark_min(void); +int __init_memblock init_per_zone_wmark_min(void); void page_alloc_sysctl_init(void); /* @@ -1532,9 +1533,9 @@ static inline bool pte_needs_soft_dirty_wp(struct vm_area_struct *vma, pte_t pte return vma_soft_dirty_enabled(vma) && !pte_soft_dirty(pte); } -void __meminit __init_single_page(struct page *page, unsigned long pfn, +void __init_memblock __init_single_page(struct page *page, unsigned long pfn, unsigned long zone, int nid); -void __meminit __init_page_from_nid(unsigned long pfn, int nid); +void __init_memblock __init_page_from_nid(unsigned long pfn, int nid); /* shrinker related functions */ unsigned long shrink_slab(gfp_t gfp_mask, int nid, struct mem_cgroup *memcg, diff --git a/mm/mm_init.c b/mm/mm_init.c index 7bb5f77cf195..31cf8bc31cc2 100644 --- a/mm/mm_init.c +++ b/mm/mm_init.c @@ -578,7 +578,7 @@ static void __init find_zone_movable_pfns_for_nodes(void) node_states[N_MEMORY] = saved_node_state; } -void __meminit __init_single_page(struct page *page, unsigned long pfn, +void __init_memblock __init_single_page(struct page *page, unsigned long pfn, unsigned long zone, int nid) { mm_zero_struct_page(page); @@ -669,7 +669,7 @@ static inline void fixup_hashdist(void) {} /* * Initialize a reserved page unconditionally, finding its zone first. */ -void __meminit __init_page_from_nid(unsigned long pfn, int nid) +void __init_memblock __init_page_from_nid(unsigned long pfn, int nid) { pg_data_t *pgdat; int zid; @@ -744,7 +744,7 @@ defer_init(int nid, unsigned long pfn, unsigned long end_pfn) return false; } -static void __meminit __init_deferred_page(unsigned long pfn, int nid) +static void __init_memblock __init_deferred_page(unsigned long pfn, int nid) { if (early_page_initialised(pfn, nid)) return; @@ -769,7 +769,7 @@ static inline void __init_deferred_page(unsigned long pfn, int nid) } #endif /* CONFIG_DEFERRED_STRUCT_PAGE_INIT */ -void __meminit init_deferred_page(unsigned long pfn, int nid) +void __init_memblock init_deferred_page(unsigned long pfn, int nid) { __init_deferred_page(pfn, nid); } -- 2.39.5