lkml.org 
[lkml]   [2011]   [Dec]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v3] vmscan/trace: Add 'file' info to trace_mm_vmscan_lru_isolate.
    Date
    From: Tao Ma <boyu.mt@taobao.com>

    In trace_mm_vmscan_lru_isolate, we don't output 'file'
    information to the trace event and it is a bit inconvenient for the
    user to get the real information(like pasted below).
    mm_vmscan_lru_isolate: isolate_mode=2 order=0 nr_requested=32 nr_scanned=32
    nr_taken=32 contig_taken=0 contig_dirty=0 contig_failed=0

    'active' can be gotten by analyzing mode(Thanks go to Minchan and Mel),
    So this patch adds 'file' to the trace event and it now looks like:
    mm_vmscan_lru_isolate: isolate_mode=2 order=0 nr_requested=32 nr_scanned=32
    nr_taken=32 contig_taken=0 contig_dirty=0 contig_failed=0 file=0

    Cc: Mel Gorman <mel@csn.ul.ie>
    Cc: Minchan Kim <minchan.kim@gmail.com>
    Cc: Rik van Riel <riel@redhat.com>
    Cc: Johannes Weiner <hannes@cmpxchg.org>
    Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
    Cc: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
    Cc: Andrew Morton <akpm@linux-foundation.org>
    Acked-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
    Reviewed-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
    Signed-off-by: Tao Ma <boyu.mt@taobao.com>
    ---
    include/trace/events/vmscan.h | 22 ++++++++++++++--------
    mm/memcontrol.c | 2 +-
    mm/vmscan.c | 2 +-
    3 files changed, 16 insertions(+), 10 deletions(-)

    diff --git a/include/trace/events/vmscan.h b/include/trace/events/vmscan.h
    index edc4b3d..f64560e 100644
    --- a/include/trace/events/vmscan.h
    +++ b/include/trace/events/vmscan.h
    @@ -266,9 +266,10 @@ DECLARE_EVENT_CLASS(mm_vmscan_lru_isolate_template,
    unsigned long nr_lumpy_taken,
    unsigned long nr_lumpy_dirty,
    unsigned long nr_lumpy_failed,
    - isolate_mode_t isolate_mode),
    + isolate_mode_t isolate_mode,
    + int file),

    - TP_ARGS(order, nr_requested, nr_scanned, nr_taken, nr_lumpy_taken, nr_lumpy_dirty, nr_lumpy_failed, isolate_mode),
    + TP_ARGS(order, nr_requested, nr_scanned, nr_taken, nr_lumpy_taken, nr_lumpy_dirty, nr_lumpy_failed, isolate_mode, file),

    TP_STRUCT__entry(
    __field(int, order)
    @@ -279,6 +280,7 @@ DECLARE_EVENT_CLASS(mm_vmscan_lru_isolate_template,
    __field(unsigned long, nr_lumpy_dirty)
    __field(unsigned long, nr_lumpy_failed)
    __field(isolate_mode_t, isolate_mode)
    + __field(int, file)
    ),

    TP_fast_assign(
    @@ -290,9 +292,10 @@ DECLARE_EVENT_CLASS(mm_vmscan_lru_isolate_template,
    __entry->nr_lumpy_dirty = nr_lumpy_dirty;
    __entry->nr_lumpy_failed = nr_lumpy_failed;
    __entry->isolate_mode = isolate_mode;
    + __entry->file = file;
    ),

    - TP_printk("isolate_mode=%d order=%d nr_requested=%lu nr_scanned=%lu nr_taken=%lu contig_taken=%lu contig_dirty=%lu contig_failed=%lu",
    + TP_printk("isolate_mode=%d order=%d nr_requested=%lu nr_scanned=%lu nr_taken=%lu contig_taken=%lu contig_dirty=%lu contig_failed=%lu file=%d",
    __entry->isolate_mode,
    __entry->order,
    __entry->nr_requested,
    @@ -300,7 +303,8 @@ DECLARE_EVENT_CLASS(mm_vmscan_lru_isolate_template,
    __entry->nr_taken,
    __entry->nr_lumpy_taken,
    __entry->nr_lumpy_dirty,
    - __entry->nr_lumpy_failed)
    + __entry->nr_lumpy_failed,
    + __entry->file)
    );

    DEFINE_EVENT(mm_vmscan_lru_isolate_template, mm_vmscan_lru_isolate,
    @@ -312,9 +316,10 @@ DEFINE_EVENT(mm_vmscan_lru_isolate_template, mm_vmscan_lru_isolate,
    unsigned long nr_lumpy_taken,
    unsigned long nr_lumpy_dirty,
    unsigned long nr_lumpy_failed,
    - isolate_mode_t isolate_mode),
    + isolate_mode_t isolate_mode,
    + int file),

    - TP_ARGS(order, nr_requested, nr_scanned, nr_taken, nr_lumpy_taken, nr_lumpy_dirty, nr_lumpy_failed, isolate_mode)
    + TP_ARGS(order, nr_requested, nr_scanned, nr_taken, nr_lumpy_taken, nr_lumpy_dirty, nr_lumpy_failed, isolate_mode, file)

    );

    @@ -327,9 +332,10 @@ DEFINE_EVENT(mm_vmscan_lru_isolate_template, mm_vmscan_memcg_isolate,
    unsigned long nr_lumpy_taken,
    unsigned long nr_lumpy_dirty,
    unsigned long nr_lumpy_failed,
    - isolate_mode_t isolate_mode),
    + isolate_mode_t isolate_mode,
    + int file),

    - TP_ARGS(order, nr_requested, nr_scanned, nr_taken, nr_lumpy_taken, nr_lumpy_dirty, nr_lumpy_failed, isolate_mode)
    + TP_ARGS(order, nr_requested, nr_scanned, nr_taken, nr_lumpy_taken, nr_lumpy_dirty, nr_lumpy_failed, isolate_mode, file)

    );

    diff --git a/mm/memcontrol.c b/mm/memcontrol.c
    index 6aff93c..cd0082d 100644
    --- a/mm/memcontrol.c
    +++ b/mm/memcontrol.c
    @@ -1249,7 +1249,7 @@ unsigned long mem_cgroup_isolate_pages(unsigned long nr_to_scan,
    *scanned = scan;

    trace_mm_vmscan_memcg_isolate(0, nr_to_scan, scan, nr_taken,
    - 0, 0, 0, mode);
    + 0, 0, 0, mode, file);

    return nr_taken;
    }
    diff --git a/mm/vmscan.c b/mm/vmscan.c
    index f54a05b..a444dc0 100644
    --- a/mm/vmscan.c
    +++ b/mm/vmscan.c
    @@ -1221,7 +1221,7 @@ static unsigned long isolate_lru_pages(unsigned long nr_to_scan,
    nr_to_scan, scan,
    nr_taken,
    nr_lumpy_taken, nr_lumpy_dirty, nr_lumpy_failed,
    - mode);
    + mode, file);
    return nr_taken;
    }

    --
    1.7.0.4


    \
     
     \ /
      Last update: 2011-12-14 16:19    [W:0.027 / U:0.396 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site