[Crash-utility] Small fix for pages_scanned value
Dave Anderson
anderson at redhat.com
Tue Jan 20 16:52:44 UTC 2015
----- 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/a58a34e95cf32cd2f8609a71c3614c09beaa53b7
Thanks,
Dave
More information about the Crash-utility
mailing list