shrinker_info
struct shrinker_info __rcu *shrinker_info;
static struct shrinker_info *shrinker_info_protected(struct mem_cgroup *memcg,
return rcu_dereference_protected(memcg->nodeinfo[nid]->shrinker_info,
struct shrinker_info *new, *old;
rcu_assign_pointer(pn->shrinker_info, new);
struct shrinker_info *info;
info = rcu_dereference(memcg->nodeinfo[nid]->shrinker_info);
static inline void shrinker_unit_free(struct shrinker_info *info, int start)
struct shrinker_info *info;
info = rcu_dereference(memcg->nodeinfo[nid]->shrinker_info);
struct shrinker_info *info;
info = rcu_dereference(memcg->nodeinfo[nid]->shrinker_info);
struct shrinker_info *child_info, *parent_info;
static inline int shrinker_unit_alloc(struct shrinker_info *new,
struct shrinker_info *old, int nid)
struct shrinker_info *info;
info = rcu_dereference(memcg->nodeinfo[nid]->shrinker_info);
struct shrinker_info *info;
info = rcu_dereference_protected(pn->shrinker_info, true);
rcu_assign_pointer(pn->shrinker_info, NULL);
struct shrinker_info *info = kvzalloc_node(sizeof(*info) + array_size,
rcu_assign_pointer(memcg->nodeinfo[nid]->shrinker_info, info);