Skip to content
  • Vishnu Pratap Singh's avatar
    lib/show_mem.c: correct reserved memory calculation · 156408c0
    Vishnu Pratap Singh authored
    
    
    CMA reserved memory is not part of total reserved memory.  Currently
    when we print the total reserve memory it considers cma as part of
    reserve memory and do minus of totalcma_pages from reserved, which is
    wrong.  In cases where total reserved is less than cma reserved we will
    get negative values & while printing we print as unsigned and we will
    get a very large value.
    
    Below is the show mem output on X86 ubuntu based system where CMA
    reserved is 100MB (25600 pages) & total reserved is ~40MB(10316 pages).
    And reserve memory shows a large value because of this bug.
    
    Before:
    [  127.066430] 898908 pages RAM
    [  127.066432] 671682 pages HighMem/MovableOnly
    [  127.066434] 4294952012 pages reserved
    [  127.066436] 25600 pages cma reserved
    
    After:
    [   44.663129] 898908 pages RAM
    [   44.663130] 671682 pages HighMem/MovableOnly
    [   44.663130] 10316 pages reserved
    [   44.663131] 25600 pages cma reserved
    
    Signed-off-by: default avatarVishnu Pratap Singh <vishnu.ps@samsung.com>
    Cc: Michal Nazarewicz <mina86@mina86.com>
    Cc: Marek Szyprowski <m.szyprowski@samsung.com>
    Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com>
    Cc: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
    Cc: Sasha Levin <sasha.levin@oracle.com>
    Cc: Danesh Petigara <dpetigara@broadcom.com>
    Cc: Laura Abbott <lauraa@codeaurora.org>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    156408c0