Dne Čt 12. ledna 2012 22:59:14 Dave Anderson napsal(a):
----- 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.
Interesting. What does "kmem -n" show? How is your ZONE_HIGHMEM reported by
"help -v"?
Petr Tesarik
SUSE Linux