----- Original Message -----
----- Original Message -----
> Hi Dave,
>
> there seems to be typo while printing pages_scanned value - signed output for
> unsigned variable.
>
> Patch:
> --- crash-7.0.9.orig/memory.c 2014-11-13 15:33:40.000000000 -0500
> +++ crash-7.0.9/memory.c 2015-01-20 05:19:07.000000000 -0500
> @@ -15776,7 +15776,7 @@ dump_zone_stats(void)
> if (VALID_MEMBER(zone_pages_scanned)) {
> value1 = ULONG(zonebuf +
> OFFSET(zone_pages_scanned));
> - fprintf(fp, "PAGES_SCANNED: %ld ", value1);
> + fprintf(fp, "PAGES_SCANNED: %lu ", value1);
> }
> fprintf(fp, "\n");
>
I guess that's fine, but at least on more recent kernels, that code doesn't
even get executed because of the goto line above it:
} else {
if (VALID_MEMBER(zone_vm_stat)) {
fprintf(fp, "\n VM_STAT:\n");
dump_vm_stat(NULL, NULL, node_zones +
OFFSET(zone_vm_stat));
} else
fprintf(fp, " FREE: %ld\n", value5);
goto next_zone;
}
I'm pretty that is an error, where the all_unreclaimable and pages_scanned displays
were added after the code above. I'll remove the goto and test it on a couple
hundred dumps of various versions to verify it.
Yep, the two fields are missing for 2.6.30 and later kernels.
Both fixes are queued for crash-7.1.0:
https://github.com/crash-utility/crash/commit/a58a34e95cf32cd2f8609a71c36...
Thanks,
Dave