[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20200220043316.19668-1-bhe@redhat.com>
Date: Thu, 20 Feb 2020 12:33:09 +0800
From: Baoquan He <bhe@...hat.com>
To: linux-kernel@...r.kernel.org
Cc: linux-mm@...ck.org, akpm@...ux-foundation.org,
richardw.yang@...ux.intel.com, david@...hat.com, osalvador@...e.de,
dan.j.williams@...el.com, mhocko@...e.com, bhe@...hat.com,
rppt@...ux.ibm.com, robin.murphy@....com
Subject: [PATCH v2 0/7] mm/hotplug: Only use subsection map in VMEMMAP case
Memory sub-section hotplug was added to fix the issue that nvdimm could
be mapped at non-section aligned starting address. A subsection map is
added into struct mem_section_usage to implement it. However, sub-section
is only supported in VMEMMAP case. Hence there's no need to operate
subsection map in SPARSEMEM|!VMEMMAP case. In this patchset, change
codes to make sub-section map and the relevant operation only available
in VMEMMAP case.
And since sub-section hotplug added, the hot add/remove functionality
have been broken in SPARSEMEM|!VMEMMAP case. Wei Yang and I, each of us
make one patch to fix one of the failures. In this patchset, the patch
1/7 from me is used to fix the hot remove failure. Wei Yang's patch has
been merged by Andrew.
Changelog:
v1->v2:
Move the hot remove fixing patch to the front so that people can
back port it to easier. Suggested by David.
Split the old patch which invalidate the sub-section map in
!VMEMMAP case into two patches, patch 4/7, and patch 6/7. This
makes patch reviewing easier. David by David.
Take Wei Yang's fixing patch out to post alone, since it has been
reviewed and acked by people. Suggested by Andrew.
Fix a code comment mistake in the current patch 2/7. Found out by
Wei Yang during reviewing.
Baoquan He (7):
mm/hotplug: fix hot remove failure in SPARSEMEM|!VMEMMAP case
mm/sparse.c: introduce new function fill_subsection_map()
mm/sparse.c: introduce a new function clear_subsection_map()
mm/sparse.c: only use subsection map in VMEMMAP case
mm/sparse.c: add code comment about sub-section hotplug
mm/sparse.c: move subsection_map related codes together
mm/sparse.c: Use __get_free_pages() instead in
populate_section_memmap()
include/linux/mmzone.h | 2 +
mm/sparse.c | 178 +++++++++++++++++++++++++++++------------
2 files changed, 127 insertions(+), 53 deletions(-)
--
2.17.2
Powered by blists - more mailing lists