Messages in this thread | | | Subject | Re: [PATCH v10 03/13] mm/sparsemem: Add helpers track active portions of a section at boot | From | Oscar Salvador <> | Date | Mon, 24 Jun 2019 19:57:55 +0200 |
| |
On Tue, 2019-06-18 at 22:51 -0700, Dan Williams wrote: > Prepare for hot{plug,remove} of sub-ranges of a section by tracking a > sub-section active bitmask, each bit representing a PMD_SIZE span of > the > architecture's memory hotplug section size. > > The implications of a partially populated section is that pfn_valid() > needs to go beyond a valid_section() check and either determine that > the > section is an "early section", or read the sub-section active ranges > from the bitmask. The expectation is that the bitmask > (subsection_map) > fits in the same cacheline as the valid_section() / early_section() > data, so the incremental performance overhead to pfn_valid() should > be > negligible. > > The rationale for using early_section() to short-ciruit the > subsection_map check is that there are legacy code paths that use > pfn_valid() at section granularity before validating the pfn against > pgdat data. So, the early_section() check allows those traditional > assumptions to persist while also permitting subsection_map to tell > the > truth for purposes of populating the unused portions of early > sections > with PMEM and other ZONE_DEVICE mappings. > > Cc: Michal Hocko <mhocko@suse.com> > Cc: Vlastimil Babka <vbabka@suse.cz> > Cc: Logan Gunthorpe <logang@deltatee.com> > Cc: Oscar Salvador <osalvador@suse.de> > Cc: Pavel Tatashin <pasha.tatashin@soleen.com> > Reported-by: Qian Cai <cai@lca.pw> > Tested-by: Jane Chu <jane.chu@oracle.com> > Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Reviewed-by: Oscar Salvador <osalvador@suse.de>
-- Oscar Salvador SUSE L3
| |