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 14:19 Mike Rapoport
  2023-03-21 17:05 ` Mike Rapoport
  0 siblings, 1 reply; 4+ messages in thread
From: Mike Rapoport @ 2023-03-21 14:19 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] 4+ messages in thread

* Re: [PATCH v2 00/14] mm: move core MM initialization to mm/mm_init.c
  2023-03-21 14:19 [PATCH v2 00/14] mm: move core MM initialization to mm/mm_init.c Mike Rapoport
@ 2023-03-21 17:05 ` Mike Rapoport
  0 siblings, 0 replies; 4+ messages in thread
From: Mike Rapoport @ 2023-03-21 17:05 UTC (permalink / raw)
  To: Andrew Morton
  Cc: David Hildenbrand, Doug Berger, Matthew Wilcox, Mel Gorman,
	Michal Hocko, Thomas Bogendoerfer, Vlastimil Babka, linux-kernel,
	linux-mips, linux-mm

Something went wrong, I'll resend the whole set.

On Tue, Mar 21, 2023 at 04:19:07PM +0200, Mike Rapoport wrote:
> 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
> 

-- 
Sincerely yours,
Mike.

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

* Re: [PATCH v2 00/14] mm: move core MM initialization to mm/mm_init.c
  2023-03-21 17:04 Mike Rapoport
@ 2023-03-22 11:19 ` David Hildenbrand
  0 siblings, 0 replies; 4+ messages in thread
From: David Hildenbrand @ 2023-03-22 11:19 UTC (permalink / raw)
  To: Mike Rapoport, Andrew Morton
  Cc: Doug Berger, Matthew Wilcox, Mel Gorman, Michal Hocko,
	Thomas Bogendoerfer, Vlastimil Babka, linux-kernel, linux-mips,
	linux-mm

On 21.03.23 18:04, Mike Rapoport wrote:
> 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)

Sorry, I get lazy on large patches and only ACK instead of checking each 
and every line :)

-- 
Thanks,

David / dhildenb


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

* [PATCH v2 00/14] mm: move core MM initialization to mm/mm_init.c
@ 2023-03-21 17:04 Mike Rapoport
  2023-03-22 11:19 ` David Hildenbrand
  0 siblings, 1 reply; 4+ 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] 4+ messages in thread

end of thread, other threads:[~2023-03-22 11:20 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-03-21 14:19 [PATCH v2 00/14] mm: move core MM initialization to mm/mm_init.c Mike Rapoport
2023-03-21 17:05 ` Mike Rapoport
2023-03-21 17:04 Mike Rapoport
2023-03-22 11:19 ` David Hildenbrand

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).