The patch titled Subject: mm-memcg-prevent-memorysoft_limit_in_bytes-load-store-tearing-v3 has been added to the -mm mm-unstable branch. Its filename is mm-memcg-prevent-memorysoft_limit_in_bytes-load-store-tearing-v3.patch This patch will shortly appear at https://git.kernel.org/pub/scm/linux/kernel/git/akpm/25-new.git/tree/patches/mm-memcg-prevent-memorysoft_limit_in_bytes-load-store-tearing-v3.patch This patch will later appear in the mm-unstable branch at git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm Before you just go and hit "reply", please: a) Consider who else should be cc'ed b) Prefer to cc a suitable mailing list as well c) Ideally: find the original patch on the mailing list and do a reply-to-all to that, adding suitable additional cc's *** Remember to use Documentation/process/submit-checklist.rst when testing your code *** The -mm tree is included into linux-next via the mm-everything branch at git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm and is updated there every 2-3 working days ------------------------------------------------------ From: Yue Zhao <findns94@xxxxxxxxx> Subject: mm-memcg-prevent-memorysoft_limit_in_bytes-load-store-tearing-v3 Date: Thu, 9 Mar 2023 00:25:55 +0800 Add [WRITE|READ]_ONCE for all occurrences of memcg->oom_kill_disable, memcg->swappiness and memcg->soft_limit. Link: https://lkml.kernel.org/r/20230308162555.14195-5-findns94@xxxxxxxxx Signed-off-by: Yue Zhao <findns94@xxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: Matthew Wilcox (Oracle) <willy@xxxxxxxxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxxx> Cc: Muchun Song <muchun.song@xxxxxxxxx> Cc: Roman Gushchin <roman.gushchin@xxxxxxxxx> Cc: Shakeel Butt <shakeelb@xxxxxxxxxx> Cc: Tang Yizhou <tangyeechou@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- --- a/mm/memcontrol.c~mm-memcg-prevent-memorysoft_limit_in_bytes-load-store-tearing-v3 +++ a/mm/memcontrol.c @@ -5347,7 +5347,7 @@ mem_cgroup_css_alloc(struct cgroup_subsy return ERR_CAST(memcg); page_counter_set_high(&memcg->memory, PAGE_COUNTER_MAX); - memcg->soft_limit = PAGE_COUNTER_MAX; + WRITE_ONCE(memcg->soft_limit, PAGE_COUNTER_MAX); #if defined(CONFIG_MEMCG_KMEM) && defined(CONFIG_ZSWAP) memcg->zswap_max = PAGE_COUNTER_MAX; #endif @@ -5502,7 +5502,7 @@ static void mem_cgroup_css_reset(struct page_counter_set_min(&memcg->memory, 0); page_counter_set_low(&memcg->memory, 0); page_counter_set_high(&memcg->memory, PAGE_COUNTER_MAX); - memcg->soft_limit = PAGE_COUNTER_MAX; + WRITE_ONCE(memcg->soft_limit, PAGE_COUNTER_MAX); page_counter_set_high(&memcg->swap, PAGE_COUNTER_MAX); memcg_wb_domain_size_changed(memcg); } _ Patches currently in -mm which might be from findns94@xxxxxxxxx are mm-memcg-prevent-memoryoomgroup-load-store-tearing.patch mm-memcg-prevent-memoryswappiness-load-store-tearing.patch mm-memcg-prevent-memoryswappiness-load-store-tearing-v3.patch mm-memcg-prevent-memoryoom_control-load-store-tearing.patch mm-memcg-prevent-memoryoom_control-load-store-tearing-v3.patch mm-memcg-prevent-memorysoft_limit_in_bytes-load-store-tearing.patch mm-memcg-prevent-memorysoft_limit_in_bytes-load-store-tearing-v3.patch