[Crash-utility] Incorrect HighMem statistics

Dave Anderson anderson at redhat.com
Thu Jan 12 21:59:14 UTC 2012



----- Original Message -----
> Hi all,
> 
> it seems crash shows incorrect HighMem stats with recent kernels.
> E.g.:
> 
> crash> kmem -i
> [...]
> TOTAL HIGH  1821682       6.9 GB   93% of TOTAL MEM
>  FREE HIGH        0            0    0% of TOTAL HIGH
>  TOTAL LOW   132983     519.5 MB    6% of TOTAL MEM
>   FREE LOW  1333474       5.1 GB  1002% of TOTAL LOW
> 
> BTW note that total low is smaller than free low, which is obviously
> incorrect. I believe that this is somehow related to the Movable zone, because
> the code that counts free low pages checks for pages which belong to
> ZONE_HIGHMEM, which is initialized as:
> 
>                 vt->ZONE_HIGHMEM = vt->nr_zones - 1;
> 
> My system has 4 zones:
> 
> ZONE  NAME         SIZE   MEM_MAP  START_PADDR  START_MAPNR
>   0   DMA          4080  f4a02200        10000            0
>   1   Normal     221694  f4a22000      1000000         4080
>   2   HighMem    790002  f50e5fc0     371fe000       225774
>   3   Movable         0         0            0            0
> 
> And indeed, "help -v" shows:
> [...]
>     dump_free_pages: dump_free_pages_zones_v2()
> [...]
>        ZONE_HIGHMEM: 3
> 
> I don't know yet how to fix this, but maybe somebody can push me in
> the right
> direction.

Seems like you're already headed down the right path with the
vt->ZONE_HIGHMEM initialization, at least w/respect to the 
FREE HIGH of "0".  On the other hand, I'm looking at a recent 
x86 kernel with the Movable zone, and it has normal
looking statistics w/respect to total-low/free-low.

Dave




More information about the Crash-utility mailing list