The commit is pushed to "branch-rh9-5.14.vz9.1.x-ovz" and will appear at 
https://src.openvz.org/scm/ovz/vzkernel.git
after rh9-5.14.0-4.vz9.10.13
------>
commit ef37d176e210c32a23e65236d3086e34a7f762ed
Author: Nikita Yushchenko <nikita.yushche...@virtuozzo.com>
Date:   Wed Oct 20 18:07:51 2021 +0300

    memcg: Add a comment on using page_memcg() in cleancache code
    
    To_merge: e94505ccca99 ("memcg: allow to disable cleancache per memcg")
    
    Signed-off-by: Nikita Yushchenko <nikita.yushche...@virtuozzo.com>
---
 mm/memcontrol.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/mm/memcontrol.c b/mm/memcontrol.c
index f63f998ceccb..19a5638ce1dc 100644
--- a/mm/memcontrol.c
+++ b/mm/memcontrol.c
@@ -1322,6 +1322,16 @@ bool mem_cgroup_cleancache_disabled(struct page *page)
        if (mem_cgroup_disabled())
                return false;
 
+       /*
+        * On all paths to mem_cgroup_cleancache_disabled(), the page in
+        * question is locked. Calls go from __delete_from_page_cache() or
+        * from delete_from_page_cache_batch(), in both cases page lock is
+        * mandatory.
+        *
+        * Per comment in the documentation of page_memcg(), holding page lock
+        * guarantees stability of the value returned from page_memcg().
+        * Thus using page_memcg() is safe, rcu is not needed.
+        */
        memcg = page_memcg(page);
        return memcg && memcg->cleancache_disabled;
 }
_______________________________________________
Devel mailing list
Devel@openvz.org
https://lists.openvz.org/mailman/listinfo/devel

Reply via email to