From: Michael Jeanson Date: Tue, 21 May 2019 20:33:13 +0000 (-0400) Subject: fix: mm: move recent_rotated pages calculation to shrink_inactive_list() (v5.2) X-Git-Tag: v2.12.0-pre~46 X-Git-Url: https://git.lttng.org./?a=commitdiff_plain;h=f98bc8fbefdf009ab80e0e8eb5d1a3c6b4a642a3;p=lttng-modules.git fix: mm: move recent_rotated pages calculation to shrink_inactive_list() (v5.2) See upstream commit: commit 886cf1901db962cee5f8b82b9b260079a5e8a4eb Author: Kirill Tkhai Date: Mon May 13 17:16:51 2019 -0700 mm: move recent_rotated pages calculation to shrink_inactive_list() Patch series "mm: Generalize putback functions"] putback_inactive_pages() and move_active_pages_to_lru() are almost similar, so this patchset merges them ina single function. This patch (of 4): The patch moves the calculation from putback_inactive_pages() to shrink_inactive_list(). This makes putback_inactive_pages() looking more similar to move_active_pages_to_lru(). To do that, we account activated pages in reclaim_stat::nr_activate. Since a page may change its LRU type from anon to file cache inside shrink_page_list() (see ClearPageSwapBacked()), we have to account pages for the both types. So, nr_activate becomes an array. Previously we used nr_activate to account PGACTIVATE events, but now we account them into pgactivate variable (since they are about number of pages in general, not about sum of hpage_nr_pages). Signed-off-by: Michael Jeanson Signed-off-by: Mathieu Desnoyers --- diff --git a/instrumentation/events/lttng-module/mm_vmscan.h b/instrumentation/events/lttng-module/mm_vmscan.h index 417472c7..f99767a8 100644 --- a/instrumentation/events/lttng-module/mm_vmscan.h +++ b/instrumentation/events/lttng-module/mm_vmscan.h @@ -625,7 +625,8 @@ LTTNG_TRACEPOINT_EVENT(mm_vmscan_lru_shrink_inactive, ctf_integer(unsigned long, nr_writeback, stat->nr_writeback) ctf_integer(unsigned long, nr_congested, stat->nr_congested) ctf_integer(unsigned long, nr_immediate, stat->nr_immediate) - ctf_integer(unsigned long, nr_activate, stat->nr_activate) + ctf_integer(unsigned long, nr_activate_anon, stat->nr_activate[0]) + ctf_integer(unsigned long, nr_activate_file, stat->nr_activate[1]) ctf_integer(unsigned long, nr_ref_keep, stat->nr_ref_keep) ctf_integer(unsigned long, nr_unmap_fail, stat->nr_unmap_fail) ctf_integer(int, priority, priority)