[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20180926232117.17365.72207.stgit@localhost.localdomain>
Date: Wed, 26 Sep 2018 16:28:20 -0700
From: Alexander Duyck <alexander.h.duyck@...ux.intel.com>
To: sparclinux@...r.kernel.org, linux-mm@...ck.org,
linux-kernel@...r.kernel.org
Cc: pavel.tatashin@...rosoft.com, mhocko@...e.com,
dave.jiang@...el.com, alexander.h.duyck@...ux.intel.com,
dan.j.williams@...el.com, willy@...radead.org, mingo@...nel.org,
khalid.aziz@...cle.com, rppt@...ux.vnet.ibm.com, vbabka@...e.cz,
akpm@...ux-foundation.org, ldufour@...ux.vnet.ibm.com,
davem@...emloft.net, kirill.shutemov@...ux.intel.com
Subject: [RFC mm PATCH 0/5] mm: Deferred page init improvements
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(-)
--
Powered by blists - more mailing lists