• Mike Rapoport's avatar
    m68k: deprecate DISCONTIGMEM · fcd353a3
    Mike Rapoport authored
    DISCONTIGMEM was intended to provide more efficient support for systems
    with holes in their physical address space that FLATMEM did.
    
    Yet, it's overhead in terms of the memory consumption seems to
    overweight the savings on the unused memory map.
    
    For a ARAnyM system with 16 MBytes of FastRAM configured, the memory
    usage reported after page allocator initialization is
    
      Memory: 23828K/30720K available (3206K kernel code, 535K rwdata, 936K rodata, 768K init, 193K bss, 6892K reserved, 0K cma-reserved)
    
    and with DISCONTIGMEM disabled and with relatively large hole in the memory
    map it is:
    
      Memory: 23864K/30720K available (3197K kernel code, 516K rwdata, 936K rodata, 764K init, 179K bss, 6856K reserved, 0K cma-reserved)
    
    Moreover, since m68k already has custom pfn_valid() it is possible to
    define HAVE_ARCH_PFN_VALID to enable freeing of unused memory map.  The
    minimal size of a hole that can be freed should not be less than
    MAX_ORDER_NR_PAGES so to achieve more substantial memory savings let
    m68k also define custom FORCE_MAX_ZONEORDER.
    
    With FORCE_MAX_ZONEORDER set to 9 memory usage becomes:
    
      Memory: 23880K/30720K available (3197K kernel code, 516K rwdata, 936K rodata, 764K init, 179K bss, 6840K reserved, 0K cma-reserved)
    
    Link: https://lkml.kernel.org/r/20201101170454.9567-14-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>
    fcd353a3
Kconfig.cpu 13.4 KB