• A
    sparsemem: record when a section has a valid mem_map · 540557b9
    Andy Whitcroft 提交于
    We have flags to indicate whether a section actually has a valid mem_map
    associated with it.  This is never set and we rely solely on the present bit
    to indicate a section is valid.  By definition a section is not valid if it
    has no mem_map and there is a window during init where the present bit is set
    but there is no mem_map, during which pfn_valid() will return true
    incorrectly.
    
    Use the existing SECTION_HAS_MEM_MAP flag to indicate the presence of a valid
    mem_map.  Switch valid_section{,_nr} and pfn_valid() to this bit.  Add a new
    present_section{,_nr} and pfn_present() interfaces for those users who care to
    know that a section is going to be valid.
    
    [akpm@linux-foundation.org: coding-syle fixes]
    Signed-off-by: NAndy Whitcroft <apw@shadowen.org>
    Acked-by: NMel Gorman <mel@csn.ul.ie>
    Cc: Christoph Lameter <clameter@sgi.com>
    Cc: "Luck, Tony" <tony.luck@intel.com>
    Cc: Andi Kleen <ak@suse.de>
    Cc: "David S. Miller" <davem@davemloft.net>
    Cc: Paul Mackerras <paulus@samba.org>
    Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
    Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
    Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
    540557b9
memory.c 11.0 KB