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.
Petr Tesarik
SUSE Linux