• Mike Rapoport's avatar
    alpha: switch from DISCONTIGMEM to SPARSEMEM · 36d40290
    Mike Rapoport authored
    Patch series "arch, mm: deprecate DISCONTIGMEM", v2.
    
    It's been a while since DISCONTIGMEM is generally considered deprecated,
    but it is still used by four architectures.  This set replaces
    DISCONTIGMEM with a different way to handle holes in the memory map and
    marks DISCONTIGMEM configuration as BROKEN in Kconfigs of these
    architectures with the intention to completely remove it in several
    releases.
    
    While for 64-bit alpha and ia64 the switch to SPARSEMEM is quite obvious
    and was a matter of moving some bits around, for smaller 32-bit arc and
    m68k SPARSEMEM is not necessarily the best thing to do.
    
    On 32-bit machines SPARSEMEM would require large sections to make section
    index fit in the page flags, but larger sections mean that more memory is
    wasted for unused memory map.
    
    Besides, pfn_to_page() and page_to_pfn() become less efficient, at least
    on arc.
    
    So I've decided to generalize arm's approach for freeing of unused parts
    of the memory map with FLATMEM and enable it for both arc and m68k.  The
    details are in the description of patches 10 (arc) and 13 (m68k).
    
    This patch (of 13):
    
    Enable SPARSEMEM support on alpha and deprecate DISCONTIGMEM.
    
    The required changes are mostly around moving duplicated definitions of
    page access and address conversion macros to a common place and making sure
    they are available for all memory models.
    
    The DISCONTINGMEM support is marked as BROKEN an will be removed in a
    couple of releases.
    
    Link: https://lkml.kernel.org/r/20201101170454.9567-1-rppt@kernel.org
    Link: https://lkml.kernel.org/r/20201101170454.9567-2-rppt@kernel.orgSigned-off-by: default avatarMike Rapoport <rppt@linux.ibm.com>
    Cc: Alexey Dobriyan <adobriyan@gmail.com>
    Cc: Catalin Marinas <catalin.marinas@arm.com>
    Cc: Geert Uytterhoeven <geert@linux-m68k.org>
    Cc: Greg Ungerer <gerg@linux-m68k.org>
    Cc: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
    Cc: Jonathan Corbet <corbet@lwn.net>
    Cc: Matt Turner <mattst88@gmail.com>
    Cc: Meelis Roos <mroos@linux.ee>
    Cc: Michael Schmitz <schmitzmic@gmail.com>
    Cc: Russell King <linux@armlinux.org.uk>
    Cc: Tony Luck <tony.luck@intel.com>
    Cc: Vineet Gupta <vgupta@synopsys.com>
    Cc: Will Deacon <will@kernel.org>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    36d40290
Kconfig 21 KB