15.12.2020, 15:40, "Johannes Weiner" <hannes@xxxxxxxxxxx>: > On Mon, Dec 14, 2020 at 02:37:16PM -0800, Yang Shi wrote: >> The shrink_slab_memcg() races with mem_cgroup_css_online(). A visibility of CSS_ONLINE flag >> in shrink_slab_memcg()->mem_cgroup_online() does not guarantee that we will see >> memcg->nodeinfo[nid]->shrinker_maps != NULL. This may occur because of processor reordering >> on !x86. >> >> This seems like the below case: >> >> CPU A CPU B >> store shrinker_map load CSS_ONLINE >> store CSS_ONLINE load shrinker_map >> >> So the memory ordering could be guaranteed by smp_wmb()/smp_rmb() pair. >> >> The memory barriers pair will guarantee the ordering between shrinker_deferred and CSS_ONLINE >> for the following patches as well. >> >> Signed-off-by: Yang Shi <shy828301@xxxxxxxxx> > > As per previous feedback, please move the misplaced shrinker > allocation callback from .css_online to .css_alloc. This will get you > the necessary ordering guarantees from the cgroup core code. Can you read my emails from ktkhai@xxxxxxxxxxxxx? I've already answered on this question here: https://lkml.org/lkml/2020/12/10/726 Check your spam folder, and add my address to allow-list if so.