lkml.org 
[lkml]   [2010]   [Dec]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[PATCH] mm: vmscan: tracepoint: Account for scanned pages similarly for both ftrace and vmstat
    When correlating ftrace results with /proc/vmstat, I noticed that the
    reporting scripts value for "pages scanned" differed significantly. Both
    values were "right" depending on how you look at it.

    The difference is due to vmstat only counting scanning of the inactive list
    towards pages scanned. The analysis script for the tracepoint counts active
    and inactive list yielding a far higher value than vmstat. The resulting
    scanning/reclaim ratio looks much worse. The tracepoint is ok but this
    patch updates the reporting script so that the report values for scanned
    are similar to vmstat.

    Signed-off-by: Mel Gorman <mel@csn.ul.ie>
    ---
    .../trace/postprocess/trace-vmscan-postprocess.pl | 11 ++++++++++-
    1 files changed, 10 insertions(+), 1 deletions(-)

    diff --git a/Documentation/trace/postprocess/trace-vmscan-postprocess.pl b/Documentation/trace/postprocess/trace-vmscan-postprocess.pl
    index b3e73dd..12cecc8 100644
    --- a/Documentation/trace/postprocess/trace-vmscan-postprocess.pl
    +++ b/Documentation/trace/postprocess/trace-vmscan-postprocess.pl
    @@ -373,9 +373,18 @@ EVENT_PROCESS:
    print " $regex_lru_isolate/o\n";
    next;
    }
    + my $isolate_mode = $1;
    my $nr_scanned = $4;
    my $nr_contig_dirty = $7;
    - $perprocesspid{$process_pid}->{HIGH_NR_SCANNED} += $nr_scanned;
    +
    + # To closer match vmstat scanning statistics, only count isolate_both
    + # and isolate_inactive as scanning. isolate_active is rotation
    + # isolate_inactive == 0
    + # isolate_active == 1
    + # isolate_both == 2
    + if ($isolate_mode != 1) {
    + $perprocesspid{$process_pid}->{HIGH_NR_SCANNED} += $nr_scanned;
    + }
    $perprocesspid{$process_pid}->{HIGH_NR_CONTIG_DIRTY} += $nr_contig_dirty;
    } elsif ($tracepoint eq "mm_vmscan_lru_shrink_inactive") {
    $details = $5;

    \
     
     \ /
      Last update: 2010-12-07 12:27    [W:0.020 / U:59.872 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site