From patchwork Tue Mar 21 17:05:10 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mike Rapoport X-Patchwork-Id: 13182973 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 DAFCDC6FD1D for ; Tue, 21 Mar 2023 17:06:17 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 7FEF36B007B; Tue, 21 Mar 2023 13:06:17 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 7AFD06B0081; Tue, 21 Mar 2023 13:06:17 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 6782D6B0082; Tue, 21 Mar 2023 13:06:17 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 226C36B007B for ; Tue, 21 Mar 2023 13:06:17 -0400 (EDT) Received: from smtpin21.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id EB8424016D for ; Tue, 21 Mar 2023 17:06:16 +0000 (UTC) X-FDA: 80593533552.21.BDB72C4 Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75]) by imf30.hostedemail.com (Postfix) with ESMTP id A01BC8000A for ; Tue, 21 Mar 2023 17:06:14 +0000 (UTC) Authentication-Results: imf30.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=EswGc4q0; spf=pass (imf30.hostedemail.com: domain of rppt@kernel.org designates 145.40.68.75 as permitted sender) smtp.mailfrom=rppt@kernel.org; dmarc=pass (policy=none) header.from=kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1679418374; 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:in-reply-to:references:references:dkim-signature; bh=KV7jqkj8PpSRc1TBdRLXP7rcQfLlOFK4oI+ML/kS4vU=; b=WmSSNt1ZiP1ovW2XeSJpLcGD7hHC7CbaWs6QffD4LMdmjuPsDQYWL95B8e0UhR8/NEhRYz M0Rf07G5xABsYNKq6ig6i5oF11k01eoHT+N7q6eov/LW6gnU+6BLsSbTK+aDf4dJJRVmSH QaIPI6YR/F3k+2iyd8h78Nf98FL/BIo= ARC-Authentication-Results: i=1; imf30.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=EswGc4q0; spf=pass (imf30.hostedemail.com: domain of rppt@kernel.org designates 145.40.68.75 as permitted sender) smtp.mailfrom=rppt@kernel.org; dmarc=pass (policy=none) header.from=kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1679418374; a=rsa-sha256; cv=none; b=HPj+Vuz3zF+cfubigee4rTaaeRUx05s70uev4zbYEXYloHHQk4+buMKd8FMs5Dg9y5YnSF p3Qq9f3v3ubI7S/pD2mSqbbkz1dQzTrWPdIC2BTaepiaeu6UkWAKqWzvD08cGQX4XWyyGJ cgVzBMFBySfQgQxK/PMa1Yt8YxbBr6o= Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ams.source.kernel.org (Postfix) with ESMTPS id 2E0E2B818F8; Tue, 21 Mar 2023 17:06:13 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 812AFC4339E; Tue, 21 Mar 2023 17:06:08 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1679418371; bh=fqHaVBEvzabne3Dop/TkCX/BaEIQUJvhFGbckVVeK4Q=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=EswGc4q0QKmJ7EyhCkitVV0N/4ViId31sNORi954j8wnF/z0Piph4dSyMRuZXT10B b4KTwFQDgSUf68C8Jy4KFF1qFuZmAyzpyBOZzyXo0YcpImj2kItQE2Z/rWH90IArLh BLVoShVB5l7vZAezjAlG7xRqJ/SOrSXbTGEDFx1cNWjSy+u5sNTid6qd9v4xpb13N9 0QEg0DQIP6zfBM1gdULTCdjKt1bdCwWWMEsu3JLuYRZ8YViyE9UKpJQY4N9pVRcFQM eXVjTXOcDceZTfRls65Qp3Hxifo5eomdIn+n2rVV79KZNxNcabX9tgwegKbMv33jp+ zKtajkzcBNKng== From: Mike Rapoport To: Andrew Morton Cc: David Hildenbrand , Doug Berger , Matthew Wilcox , Mel Gorman , Michal Hocko , Mike Rapoport , Thomas Bogendoerfer , Vlastimil Babka , linux-kernel@vger.kernel.org, linux-mips@vger.kernel.org, linux-mm@kvack.org Subject: [PATCH v2 11/14] mm: move mem_init_print_info() to mm_init.c Date: Tue, 21 Mar 2023 19:05:10 +0200 Message-Id: <20230321170513.2401534-12-rppt@kernel.org> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20230321170513.2401534-1-rppt@kernel.org> References: <20230321170513.2401534-1-rppt@kernel.org> MIME-Version: 1.0 X-Rspamd-Server: rspam05 X-Rspamd-Queue-Id: A01BC8000A X-Stat-Signature: uwd3whcdk44abdmqr93tg7r1n8b1jgo4 X-Rspam-User: X-HE-Tag: 1679418374-567823 X-HE-Meta: U2FsdGVkX1+bjYx9d3CpK+bmE5YklCGdnJRYy9xqNiezTKieJTQYjCs9hqBBJ0ol1MWoKu/yFnD9+CReXKWmpcQlskBxF8SBnkg4M9rGNdGlAyhnbvZMYgMOMk1eKacgw5748NsXnR/j/tvwisFWuWjzrQzb6XniYO5lKB1AGRct7FYnjyDb+9ZhHEQkkm4V5xWRTwLY/wTQsAYobEBUCRAYBuS5j41IYJ4/MKFljbZ+90S/RVDK0Cj7s/LgqvMst7zJIQFyMOTronogCyVhRpQtPVvrSlJTR6GK+Wwlhcn8f2GgToWppJxF48nMtlXv3wMqxmi+BwdJTvDEchsjQ9QuCEc/h2WYn09ieDMdOeK0FMUBaqTm7XrOG0QhDkf0btrXMgQB/2fdrV0nRvIYwLGmhSVEiWB4X1S/30xaElZnYxQXO+8N0fpagG0c6hSxKIvlb21vANWQVj5Oh5ZzX9IWaNPVKFTH9eQPJKDWd3q8AMjSzrRKVB65uuYa2nIXPLKd/41oIIeDXMeLKXhbVCqtDa5Q3OoORdVVzVnQmzTsuw2d68neKMI2R/ik1E41c/orpSuzmA332VxAoCZulvs4YIS36qTs25GQWpS8CK+HBPLXpdDN60qYNwB5tiIdOCz48sVM6IX2i7SgqPJ2qAOC02clFcCsfjNAOpPXj9OiHcO7ijFZ3WWFWxG1RZmPCWJaHlcd8erySsXzeTlnRzKsQYa+RwGvFn6WPjgDsExSl/A9gBfjwcv1w0NCxwqbSvJ5ZHHWabgMKmElRH48mz3ZCsEHbhr2WkYKy/Or4VT308I500sWZFSE2WZROcWsAIfJ87WwCJIhEthick47ytUKOwo/630YhN5G1oOl/EPcu/dqNVa6eek1r+hzkZJ0v3/bSxktkoj28RxkTVYMLIcfFiNDM0NxxOnHpWmkXR0pUnJNtbRxf/+WtARFjMnd++0yeeuWjJSlQ4sbkjx b9DLe59T 8v17ibM3nN9HVyLsn+RJBakpg9lVktJ4OTrvWrBVv8P5zN7m6l3+mJNcOqLFE5kQcXZNPIUFQ40QU2VRyQHED3xadV5nUIhcH+waTQs/7NZ4YmQ0CHCfq5WEQG/EjO8wicjHDjjAhzF8qMwWZQKdDnbrfYszqKAyeXZVTHPn9i9Q5J/SQwIttXIDO3HLDv4ixm0fQpm1l2wb4oEgpD7YOmi5ASQdlylv2UiywTfUK8sk/tJSICGsxour2N9hkN0lLkbSh1khwGikyM2zcwIaL5waY6fLNRnEaLsm7+Ws7QBQSdUD/HJ+Ldvf/hwXoX+Ca28YE456LsTCItF3FacbinM3kOFMeIPwZDi3+lb3mqeqW8S3/cn8XhsTc0JGMTEYkCfSRRR9A6u5rYRCOJ7OZrXNF4fb8Atrc4uuIlovkKbjA0ak= 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: From: "Mike Rapoport (IBM)" mem_init_print_info() is only called from mm_core_init(). Move it close to the caller and make it static. Signed-off-by: Mike Rapoport (IBM) Acked-by: David Hildenbrand Reviewed-by: Vlastimil Babka --- include/linux/mm.h | 1 - mm/internal.h | 1 + mm/mm_init.c | 53 ++++++++++++++++++++++++++++++++++++++++++++++ mm/page_alloc.c | 53 ---------------------------------------------- 4 files changed, 54 insertions(+), 54 deletions(-) diff --git a/include/linux/mm.h b/include/linux/mm.h index 2fecabb1a328..e249208f8fbe 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -2925,7 +2925,6 @@ extern unsigned long free_reserved_area(void *start, void *end, int poison, const char *s); extern void adjust_managed_page_count(struct page *page, long count); -extern void mem_init_print_info(void); extern void reserve_bootmem_region(phys_addr_t start, phys_addr_t end); diff --git a/mm/internal.h b/mm/internal.h index 4750e3a7fd0d..02273c5e971f 100644 --- a/mm/internal.h +++ b/mm/internal.h @@ -201,6 +201,7 @@ pmd_t *mm_find_pmd(struct mm_struct *mm, unsigned long address); /* * in mm/page_alloc.c */ +#define K(x) ((x) << (PAGE_SHIFT-10)) extern char * const zone_names[MAX_NR_ZONES]; diff --git a/mm/mm_init.c b/mm/mm_init.c index ff70da11e797..8adadf51bbd2 100644 --- a/mm/mm_init.c +++ b/mm/mm_init.c @@ -24,6 +24,8 @@ #include #include #include +#include +#include #include "internal.h" #include "shuffle.h" @@ -2649,6 +2651,57 @@ static void __init report_meminit(void) pr_info("mem auto-init: clearing system memory may take some time...\n"); } +static void __init mem_init_print_info(void) +{ + unsigned long physpages, codesize, datasize, rosize, bss_size; + unsigned long init_code_size, init_data_size; + + physpages = get_num_physpages(); + codesize = _etext - _stext; + datasize = _edata - _sdata; + rosize = __end_rodata - __start_rodata; + bss_size = __bss_stop - __bss_start; + init_data_size = __init_end - __init_begin; + init_code_size = _einittext - _sinittext; + + /* + * Detect special cases and adjust section sizes accordingly: + * 1) .init.* may be embedded into .data sections + * 2) .init.text.* may be out of [__init_begin, __init_end], + * please refer to arch/tile/kernel/vmlinux.lds.S. + * 3) .rodata.* may be embedded into .text or .data sections. + */ +#define adj_init_size(start, end, size, pos, adj) \ + do { \ + if (&start[0] <= &pos[0] && &pos[0] < &end[0] && size > adj) \ + size -= adj; \ + } while (0) + + adj_init_size(__init_begin, __init_end, init_data_size, + _sinittext, init_code_size); + adj_init_size(_stext, _etext, codesize, _sinittext, init_code_size); + adj_init_size(_sdata, _edata, datasize, __init_begin, init_data_size); + adj_init_size(_stext, _etext, codesize, __start_rodata, rosize); + adj_init_size(_sdata, _edata, datasize, __start_rodata, rosize); + +#undef adj_init_size + + pr_info("Memory: %luK/%luK available (%luK kernel code, %luK rwdata, %luK rodata, %luK init, %luK bss, %luK reserved, %luK cma-reserved" +#ifdef CONFIG_HIGHMEM + ", %luK highmem" +#endif + ")\n", + K(nr_free_pages()), K(physpages), + codesize / SZ_1K, datasize / SZ_1K, rosize / SZ_1K, + (init_data_size + init_code_size) / SZ_1K, bss_size / SZ_1K, + K(physpages - totalram_pages() - totalcma_pages), + K(totalcma_pages) +#ifdef CONFIG_HIGHMEM + , K(totalhigh_pages()) +#endif + ); +} + /* * Set up kernel memory allocators */ diff --git a/mm/page_alloc.c b/mm/page_alloc.c index 2f333c26170c..bb0099f7da93 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -5239,8 +5239,6 @@ static bool show_mem_node_skip(unsigned int flags, int nid, nodemask_t *nodemask return !node_isset(nid, *nodemask); } -#define K(x) ((x) << (PAGE_SHIFT-10)) - static void show_migration_types(unsigned char type) { static const char types[MIGRATE_TYPES] = { @@ -6200,57 +6198,6 @@ unsigned long free_reserved_area(void *start, void *end, int poison, const char return pages; } -void __init mem_init_print_info(void) -{ - unsigned long physpages, codesize, datasize, rosize, bss_size; - unsigned long init_code_size, init_data_size; - - physpages = get_num_physpages(); - codesize = _etext - _stext; - datasize = _edata - _sdata; - rosize = __end_rodata - __start_rodata; - bss_size = __bss_stop - __bss_start; - init_data_size = __init_end - __init_begin; - init_code_size = _einittext - _sinittext; - - /* - * Detect special cases and adjust section sizes accordingly: - * 1) .init.* may be embedded into .data sections - * 2) .init.text.* may be out of [__init_begin, __init_end], - * please refer to arch/tile/kernel/vmlinux.lds.S. - * 3) .rodata.* may be embedded into .text or .data sections. - */ -#define adj_init_size(start, end, size, pos, adj) \ - do { \ - if (&start[0] <= &pos[0] && &pos[0] < &end[0] && size > adj) \ - size -= adj; \ - } while (0) - - adj_init_size(__init_begin, __init_end, init_data_size, - _sinittext, init_code_size); - adj_init_size(_stext, _etext, codesize, _sinittext, init_code_size); - adj_init_size(_sdata, _edata, datasize, __init_begin, init_data_size); - adj_init_size(_stext, _etext, codesize, __start_rodata, rosize); - adj_init_size(_sdata, _edata, datasize, __start_rodata, rosize); - -#undef adj_init_size - - pr_info("Memory: %luK/%luK available (%luK kernel code, %luK rwdata, %luK rodata, %luK init, %luK bss, %luK reserved, %luK cma-reserved" -#ifdef CONFIG_HIGHMEM - ", %luK highmem" -#endif - ")\n", - K(nr_free_pages()), K(physpages), - codesize / SZ_1K, datasize / SZ_1K, rosize / SZ_1K, - (init_data_size + init_code_size) / SZ_1K, bss_size / SZ_1K, - K(physpages - totalram_pages() - totalcma_pages), - K(totalcma_pages) -#ifdef CONFIG_HIGHMEM - , K(totalhigh_pages()) -#endif - ); -} - static int page_alloc_cpu_dead(unsigned int cpu) { struct zone *zone;