lkml.org 
[lkml]   [2019]   [Jun]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: [PATCH v10 03/13] mm/sparsemem: Add helpers track active portions of a section at boot
    From
    Date
    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

    \
     
     \ /
      Last update: 2019-06-24 19:59    [W:4.187 / U:0.456 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site