mm/vmscan: make the annotations of refaults code at the right place
authorYang Yang <yang.yang29@zte.com.cn>
Sat, 13 Aug 2022 08:07:58 +0000 (08:07 +0000)
committerAndrew Morton <akpm@linux-foundation.org>
Mon, 12 Sep 2022 03:25:51 +0000 (20:25 -0700)
After patch "mm/workingset: prepare the workingset detection
infrastructure for anon LRU", we can handle the refaults of anonymous
pages too.  So the annotations of refaults should cover both of anonymous
pages and file pages.

Link: https://lkml.kernel.org/r/20220813080757.59131-1-yang.yang29@zte.com.cn
Fixes: 170b04b7ae4963 ("mm/workingset: prepare the workingset detection infrastructure for anon LRU")
Signed-off-by: Yang Yang <yang.yang29@zte.com.cn>
Signed-off-by: CGEL ZTE <cgel.zte@gmail.com>
Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com>
Cc: Johannes Weiner <hannes@cmpxchg.org>
Cc: Vlastimil Babka <vbabka@suse.cz>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
mm/vmscan.c

index 428f8fa..bb993b2 100644 (file)
@@ -3228,6 +3228,11 @@ again:
        if (!sc->force_deactivate) {
                unsigned long refaults;
 
+               /*
+                * When refaults are being observed, it means a new
+                * workingset is being established. Deactivate to get
+                * rid of any stale active pages quickly.
+                */
                refaults = lruvec_page_state(target_lruvec,
                                WORKINGSET_ACTIVATE_ANON);
                if (refaults != target_lruvec->refaults[WORKINGSET_ANON] ||
@@ -3236,11 +3241,6 @@ again:
                else
                        sc->may_deactivate &= ~DEACTIVATE_ANON;
 
-               /*
-                * When refaults are being observed, it means a new
-                * workingset is being established. Deactivate to get
-                * rid of any stale active pages quickly.
-                */
                refaults = lruvec_page_state(target_lruvec,
                                WORKINGSET_ACTIVATE_FILE);
                if (refaults != target_lruvec->refaults[WORKINGSET_FILE] ||