----- 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 -- Crash-utility mailing list Crash-utility@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/crash-utility