Skip to content
  • Grygorii Strashko's avatar
    mm/memblock: debug: correct displaying of upper memory boundary · 931d13f5
    Grygorii Strashko authored
    
    
    Current memblock APIs don't work on 32 PAE or LPAE extension arches
    where the physical memory start address beyond 4GB.  The problem was
    discussed here [3] where Tejun, Yinghai(thanks) proposed a way forward
    with memblock interfaces.  Based on the proposal, this series adds
    necessary memblock interfaces and convert the core kernel code to use
    them.  Architectures already converted to NO_BOOTMEM use these new
    interfaces and other which still uses bootmem, these new interfaces just
    fallback to exiting bootmem APIs.
    
    So no functional change in behavior.  In long run, once all the
    architectures moves to NO_BOOTMEM, we can get rid of bootmem layer
    completely.  This is one step to remove the core code dependency with
    bootmem and also gives path for architectures to move away from bootmem.
    
    Testing is done on ARM architecture with 32 bit ARM LAPE machines with
    normal as well sparse(faked) memory model.
    
    This patch (of 23):
    
    When debugging is enabled (cmdline has "memblock=debug") the memblock
    will display upper memory boundary per each allocated/freed memory range
    wrongly.  For example:
    
     memblock_reserve: [0x0000009e7e8000-0x0000009e7ed000] _memblock_early_alloc_try_nid_nopanic+0xfc/0x12c
    
    The 0x0000009e7ed000 is displayed instead of 0x0000009e7ecfff
    
    Hence, correct this by changing formula used to calculate upper memory
    boundary to (u64)base + size - 1 instead of (u64)base + size everywhere
    in the debug messages.
    
    Signed-off-by: default avatarGrygorii Strashko <grygorii.strashko@ti.com>
    Signed-off-by: default avatarSantosh Shilimkar <santosh.shilimkar@ti.com>
    Cc: Yinghai Lu <yinghai@kernel.org>
    Acked-by: default avatarTejun Heo <tj@kernel.org>
    Cc: H. Peter Anvin <hpa@zytor.com>
    Cc: Russell King <linux@arm.linux.org.uk>
    Cc: "Rafael J. Wysocki" <rjw@sisk.pl>
    Cc: Arnd Bergmann <arnd@arndb.de>
    Cc: Christoph Lameter <cl@linux-foundation.org>
    Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Cc: Johannes Weiner <hannes@cmpxchg.org>
    Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
    Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
    Cc: Michal Hocko <mhocko@suse.cz>
    Cc: Paul Walmsley <paul@pwsan.com>
    Cc: Pavel Machek <pavel@ucw.cz>
    Cc: Tony Lindgren <tony@atomide.com>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    931d13f5