All of lore.kernel.org
 help / color / mirror / Atom feed
* [RFC mm PATCH 0/5] mm: Deferred page init improvements
@ 2018-09-26 23:28 ` Alexander Duyck
  0 siblings, 0 replies; 12+ messages in thread
From: Alexander Duyck @ 2018-09-26 23:28 UTC (permalink / raw)
  To: sparclinux, linux-mm, linux-kernel
  Cc: pavel.tatashin, mhocko, dave.jiang, alexander.h.duyck,
	dan.j.williams, willy, mingo, khalid.aziz, rppt, vbabka, akpm,
	ldufour, davem, kirill.shutemov

This patchset is essentially a refactor of the page initialization logic
to provide for better code reuse while providing a significant improvement
in deferred page initialization performance.

In my testing I have seen a 3:1 reduction in the time needed for deferred
memory initialization on two different x86_64 based test systems I have.

In addition this provides a very slight improvement for the hotplug memory 
initialization, although the improvement doesn't exceed 5% from what I can
tell and that is to be expected since most of the changes related to
hotplug initialization are just code clean-up to allow for reuse. I had
been considering using a large memset for the entire pageblock I was
initializing which showed a significant speedup for persistent memory init
however that showed no improvements to a slight regression for regular
deferred initialization of standard memory.

---

Alexander Duyck (5):
      mm: Use mm_zero_struct_page from SPARC on all 64b architectures
      mm: Drop meminit_pfn_in_nid as it is redundant
      mm: Use memblock/zone specific iterator for handling deferred page init
      mm: Move hot-plug specific memory init into separate functions and optimize
      mm: Use common iterator for deferred_init_pages and deferred_free_pages


 arch/sparc/include/asm/pgtable_64.h |   30 --
 include/linux/memblock.h            |   58 ++++
 include/linux/mm.h                  |   33 ++
 mm/memblock.c                       |   63 ++++
 mm/page_alloc.c                     |  555 +++++++++++++++++++++--------------
 5 files changed, 485 insertions(+), 254 deletions(-)

--

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

end of thread, other threads:[~2018-09-26 23:29 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-09-26 23:28 [RFC mm PATCH 0/5] mm: Deferred page init improvements Alexander Duyck
2018-09-26 23:28 ` Alexander Duyck
2018-09-26 23:28 ` [RFC mm PATCH 1/5] mm: Use mm_zero_struct_page from SPARC on all 64b architectures Alexander Duyck
2018-09-26 23:28   ` Alexander Duyck
2018-09-26 23:28 ` [RFC mm PATCH 2/5] mm: Drop meminit_pfn_in_nid as it is redundant Alexander Duyck
2018-09-26 23:28   ` Alexander Duyck
2018-09-26 23:28 ` [RFC mm PATCH 3/5] mm: Use memblock/zone specific iterator for handling deferred page init Alexander Duyck
2018-09-26 23:28   ` Alexander Duyck
2018-09-26 23:28 ` [RFC mm PATCH 4/5] mm: Move hot-plug specific memory init into separate functions and optimize Alexander Duyck
2018-09-26 23:28   ` Alexander Duyck
2018-09-26 23:28 ` [RFC mm PATCH 5/5] mm: Use common iterator for deferred_init_pages and deferred_free_pages Alexander Duyck
2018-09-26 23:28   ` Alexander Duyck

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.