linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 00/14] mm: move core MM initialization to mm/mm_init.c
@ 2023-03-21 17:04 Mike Rapoport
  2023-03-21 17:05 ` [PATCH v2 01/14] mips: fix comment about pgtable_init() Mike Rapoport
                   ` (14 more replies)
  0 siblings, 15 replies; 38+ messages in thread
From: Mike Rapoport @ 2023-03-21 17:04 UTC (permalink / raw)
  To: Andrew Morton
  Cc: David Hildenbrand, Doug Berger, Matthew Wilcox, Mel Gorman,
	Michal Hocko, Mike Rapoport, Thomas Bogendoerfer,
	Vlastimil Babka, linux-kernel, linux-mips, linux-mm

From: "Mike Rapoport (IBM)" <rppt@kernel.org>

Also in git:
https://git.kernel.org/rppt/h/mm-init/v2

v2:
* move init_cma_reserved_pageblock() from cma.c to mm_init.c
* rename init_mem_debugging_and_hardening() to
  mem_debugging_and_hardening_init()
* inline pgtable_init() into mem_core_init()
* add Acked and Reviewed tags (thanks David, hopefully I've picked them
  right)

v1: https://lore.kernel.org/all/20230319220008.2138576-1-rppt@kernel.org
This set moves most of the core MM initialization to mm/mm_init.c.

This largely includes free_area_init() and its helpers, functions used at
boot time, mm_init() from init/main.c and some of the functions it calls.

Aside from gaining some more space before mm/page_alloc.c hits 10k lines,
this makes mm/page_alloc.c to be mostly about buddy allocator and moves the
init code out of the way, which IMO improves maintainability.

Besides, this allows to move a couple of declarations out of include/linux
and make them private to mm/.

And as an added bonus there a slight decrease in vmlinux size.
For tinyconfig and defconfig on x86 I've got

tinyconfig:
   text	   data	    bss	    dec	    hex	filename
 853206	 289376	1200128	2342710	 23bf36	a/vmlinux
 853198	 289344	1200128	2342670	 23bf0e	b/vmlinux

defconfig:
    text   	   data	    bss	    dec	    	    hex	filename
26152959	9730634	2170884	38054477	244aa4d	a/vmlinux
26152945	9730602	2170884	38054431	244aa1f	b/vmlinux


Mike Rapoport (IBM) (14):
  mips: fix comment about pgtable_init()
  mm/page_alloc: add helper for checking if check_pages_enabled
  mm: move most of core MM initialization to mm/mm_init.c
  mm: handle hashdist initialization in mm/mm_init.c
  mm/page_alloc: rename page_alloc_init() to page_alloc_init_cpuhp()
  init: fold build_all_zonelists() and page_alloc_init_cpuhp() to mm_init()
  init,mm: move mm_init() to mm/mm_init.c and rename it to mm_core_init()
  mm: call {ptlock,pgtable}_cache_init() directly from mm_core_init()
  mm: move init_mem_debugging_and_hardening() to mm/mm_init.c
  init,mm: fold late call to page_ext_init() to page_alloc_init_late()
  mm: move mem_init_print_info() to mm_init.c
  mm: move kmem_cache_init() declaration to mm/slab.h
  mm: move vmalloc_init() declaration to mm/internal.h
  MAINTAINERS: extend memblock entry to include MM initialization

 MAINTAINERS                    |    3 +-
 arch/mips/include/asm/fixmap.h |    2 +-
 include/linux/gfp.h            |    7 +-
 include/linux/mm.h             |    9 +-
 include/linux/page_ext.h       |    2 -
 include/linux/slab.h           |    1 -
 include/linux/vmalloc.h        |    4 -
 init/main.c                    |   74 +-
 mm/cma.c                       |    1 +
 mm/internal.h                  |   52 +-
 mm/mm_init.c                   | 2547 +++++++++++++++++++++++++++
 mm/page_alloc.c                | 2981 +++-----------------------------
 mm/slab.h                      |    1 +
 13 files changed, 2856 insertions(+), 2828 deletions(-)


base-commit: 4018ab1f7cec061b8425737328edefebdc0ab832
-- 
2.35.1


^ permalink raw reply	[flat|nested] 38+ messages in thread
* [PATCH v2 01/14] mips: fix comment about pgtable_init()
@ 2023-03-21 14:48 Mike Rapoport
  2023-03-22 14:49 ` Philippe Mathieu-Daudé
  0 siblings, 1 reply; 38+ messages in thread
From: Mike Rapoport @ 2023-03-21 14:48 UTC (permalink / raw)
  To: Andrew Morton
  Cc: David Hildenbrand, Doug Berger, Matthew Wilcox, Mel Gorman,
	Michal Hocko, Mike Rapoport, Thomas Bogendoerfer,
	Vlastimil Babka, linux-kernel, linux-mips, linux-mm

From: "Mike Rapoport (IBM)" <rppt@kernel.org>

Comment about fixrange_init() says that its called from pgtable_init()
while the actual caller is pagetabe_init().

Update comment to match the code.

Signed-off-by: Mike Rapoport (IBM) <rppt@kernel.org>
Reviewed-by: David Hildenbrand <david@redhat.com>
---
 arch/mips/include/asm/fixmap.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/mips/include/asm/fixmap.h b/arch/mips/include/asm/fixmap.h
index beea14761cef..b037718d7e8b 100644
--- a/arch/mips/include/asm/fixmap.h
+++ b/arch/mips/include/asm/fixmap.h
@@ -70,7 +70,7 @@ enum fixed_addresses {
 #include <asm-generic/fixmap.h>
 
 /*
- * Called from pgtable_init()
+ * Called from pagetable_init()
  */
 extern void fixrange_init(unsigned long start, unsigned long end,
 	pgd_t *pgd_base);
-- 
2.35.1


^ permalink raw reply related	[flat|nested] 38+ messages in thread

end of thread, other threads:[~2023-03-23  7:09 UTC | newest]

Thread overview: 38+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-03-21 17:04 [PATCH v2 00/14] mm: move core MM initialization to mm/mm_init.c Mike Rapoport
2023-03-21 17:05 ` [PATCH v2 01/14] mips: fix comment about pgtable_init() Mike Rapoport
2023-03-22 11:36   ` Vlastimil Babka
2023-03-21 17:05 ` [PATCH v2 02/14] mm/page_alloc: add helper for checking if check_pages_enabled Mike Rapoport
2023-03-22 11:38   ` Vlastimil Babka
2023-03-21 17:05 ` [PATCH v2 03/14] mm: move most of core MM initialization to mm/mm_init.c Mike Rapoport
2023-03-22 14:26   ` Vlastimil Babka
2023-03-21 17:05 ` [PATCH v2 04/14] mm: handle hashdist initialization in mm/mm_init.c Mike Rapoport
2023-03-22 14:49   ` Vlastimil Babka
2023-03-22 15:00     ` Mike Rapoport
2023-03-21 17:05 ` [PATCH v2 05/14] mm/page_alloc: rename page_alloc_init() to page_alloc_init_cpuhp() Mike Rapoport
2023-03-22 14:50   ` Vlastimil Babka
2023-03-21 17:05 ` [PATCH v2 06/14] init: fold build_all_zonelists() and page_alloc_init_cpuhp() to mm_init() Mike Rapoport
2023-03-22 16:10   ` Vlastimil Babka
2023-03-22 20:26     ` Mike Rapoport
2023-03-23  7:09       ` Vlastimil Babka
2023-03-21 17:05 ` [PATCH v2 07/14] init,mm: move mm_init() to mm/mm_init.c and rename it to mm_core_init() Mike Rapoport
2023-03-22 16:24   ` Vlastimil Babka
2023-03-21 17:05 ` [PATCH v2 08/14] mm: call {ptlock,pgtable}_cache_init() directly from mm_core_init() Mike Rapoport
2023-03-22  9:06   ` Sergei Shtylyov
2023-03-22 10:08     ` Mike Rapoport
2023-03-22 11:18       ` David Hildenbrand
2023-03-22 16:27       ` Vlastimil Babka
2023-03-21 17:05 ` [PATCH v2 09/14] mm: move init_mem_debugging_and_hardening() to mm/mm_init.c Mike Rapoport
2023-03-22 16:28   ` Vlastimil Babka
2023-03-21 17:05 ` [PATCH v2 10/14] init,mm: fold late call to page_ext_init() to page_alloc_init_late() Mike Rapoport
2023-03-22 16:30   ` Vlastimil Babka
2023-03-21 17:05 ` [PATCH v2 11/14] mm: move mem_init_print_info() to mm_init.c Mike Rapoport
2023-03-22 16:32   ` Vlastimil Babka
2023-03-21 17:05 ` [PATCH v2 12/14] mm: move kmem_cache_init() declaration to mm/slab.h Mike Rapoport
2023-03-22 16:33   ` Vlastimil Babka
2023-03-21 17:05 ` [PATCH v2 13/14] mm: move vmalloc_init() declaration to mm/internal.h Mike Rapoport
2023-03-22 16:33   ` Vlastimil Babka
2023-03-21 17:05 ` [PATCH v2 14/14] MAINTAINERS: extend memblock entry to include MM initialization Mike Rapoport
2023-03-22 16:34   ` Vlastimil Babka
2023-03-22 11:19 ` [PATCH v2 00/14] mm: move core MM initialization to mm/mm_init.c David Hildenbrand
  -- strict thread matches above, loose matches on Subject: below --
2023-03-21 14:48 [PATCH v2 01/14] mips: fix comment about pgtable_init() Mike Rapoport
2023-03-22 14:49 ` Philippe Mathieu-Daudé

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).