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