mm, vmscan: show the number of skipped pages in mm_vmscan_lru_isolate
mm_vmscan_lru_isolate shows the number of requested, scanned and taken pages. This is mostly OK but on 32b systems the number of scanned pages is quite misleading because it includes both the scanned and skipped pages. Moreover the skipped part is scaled based on the number of taken pages. Let's report the exact numbers without any additional logic and add the number of skipped pages. This should make the reported data much more easier to interpret. Link: http://lkml.kernel.org/r/20170104101942.4860-4-mhocko@kernel.org Signed-off-by: Michal Hocko <mhocko@suse.com> Acked-by: Minchan Kim <minchan@kernel.org> Acked-by: Mel Gorman <mgorman@suse.de> Acked-by: Vlastimil Babka <vbabka@suse.cz> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:

committed by
Linus Torvalds

parent
9d998b4f1e
commit
1265e3a69f
@@ -274,17 +274,19 @@ TRACE_EVENT(mm_vmscan_lru_isolate,
|
||||
int order,
|
||||
unsigned long nr_requested,
|
||||
unsigned long nr_scanned,
|
||||
unsigned long nr_skipped,
|
||||
unsigned long nr_taken,
|
||||
isolate_mode_t isolate_mode,
|
||||
int file),
|
||||
|
||||
TP_ARGS(classzone_idx, order, nr_requested, nr_scanned, nr_taken, isolate_mode, file),
|
||||
TP_ARGS(classzone_idx, order, nr_requested, nr_scanned, nr_skipped, nr_taken, isolate_mode, file),
|
||||
|
||||
TP_STRUCT__entry(
|
||||
__field(int, classzone_idx)
|
||||
__field(int, order)
|
||||
__field(unsigned long, nr_requested)
|
||||
__field(unsigned long, nr_scanned)
|
||||
__field(unsigned long, nr_skipped)
|
||||
__field(unsigned long, nr_taken)
|
||||
__field(isolate_mode_t, isolate_mode)
|
||||
__field(int, file)
|
||||
@@ -295,17 +297,19 @@ TRACE_EVENT(mm_vmscan_lru_isolate,
|
||||
__entry->order = order;
|
||||
__entry->nr_requested = nr_requested;
|
||||
__entry->nr_scanned = nr_scanned;
|
||||
__entry->nr_skipped = nr_skipped;
|
||||
__entry->nr_taken = nr_taken;
|
||||
__entry->isolate_mode = isolate_mode;
|
||||
__entry->file = file;
|
||||
),
|
||||
|
||||
TP_printk("isolate_mode=%d classzone=%d order=%d nr_requested=%lu nr_scanned=%lu nr_taken=%lu file=%d",
|
||||
TP_printk("isolate_mode=%d classzone=%d order=%d nr_requested=%lu nr_scanned=%lu nr_skipped=%lu nr_taken=%lu file=%d",
|
||||
__entry->isolate_mode,
|
||||
__entry->classzone_idx,
|
||||
__entry->order,
|
||||
__entry->nr_requested,
|
||||
__entry->nr_scanned,
|
||||
__entry->nr_skipped,
|
||||
__entry->nr_taken,
|
||||
__entry->file)
|
||||
);
|
||||
|
Reference in New Issue
Block a user