* [linux-next / akpm] Heads up on minor conflicts in mm/memcontrol.c
@ 2014-05-16 16:30 Tejun Heo
0 siblings, 0 replies; only message in thread
From: Tejun Heo @ 2014-05-16 16:30 UTC (permalink / raw)
To: Andrew Morton, Stephen Rothwell
Cc: linux-kernel, linux-next, Johannes Weiner, Michal Hocko
Hello,
Today's cgroup/for-next contains aa190dd36dad ("cgroup: remove
css_parent()"). The wrapper was added while transitioning
cgroup-based hierarchy to css-based one. css-based hierarchy is
mostly getting into the shape now and the parent field is exported and
expected to remain stable, so the patch removes the wrapper before
updating the rest of hierarchy to be css-based. This causes two
trivial conflicts in mm/memcontrol.c with
"f51add3a5415edbd2160f8c80ca338edebbaa734".
static int mem_cgroup_oom_control_write(struct cgroup_subsys_state *css,
struct cftype *cft, u64 val)
{
struct mem_cgroup *memcg = mem_cgroup_from_css(css);
<<<<<<< HEAD
=======
struct mem_cgroup *parent = mem_cgroup_from_css(memcg->css.parent);
>>>>>>> 141fdfadf18c10fed33624bbd414fcc0cb74d7ca
/* cannot set to root cgroup and only 0 and 1 are allowed */
if (!css_parent(css) || !((val == 0) || (val == 1)))
return -EINVAL;
memcg->oom_kill_disable = val;
if (!val)
memcg_oom_recover(memcg);
return 0;
}
...
static int mem_cgroup_swappiness_write(struct cgroup_subsys_state *css,
struct cftype *cft, u64 val)
{
struct mem_cgroup *memcg = mem_cgroup_from_css(css);
<<<<<<< HEAD
=======
struct mem_cgroup *parent = mem_cgroup_from_css(memcg->css.parent);
if (val > 100 || !parent)
return -EINVAL;
mutex_lock(&memcg_create_mutex);
>>>>>>> 141fdfadf18c10fed33624bbd414fcc0cb74d7ca
if (val > 100)
return -EINVAL;
if (css_parent(css))
memcg->swappiness = val;
else
vm_swappiness = val;
return 0;
}
For both cases, the resolution is simple. Take the code from akpm and
change css_parent(css) to css->parent.
static int mem_cgroup_oom_control_write(struct cgroup_subsys_state *css,
struct cftype *cft, u64 val)
{
struct mem_cgroup *memcg = mem_cgroup_from_css(css);
/* cannot set to root cgroup and only 0 and 1 are allowed */
if (!css->parent || !((val == 0) || (val == 1)))
return -EINVAL;
memcg->oom_kill_disable = val;
if (!val)
memcg_oom_recover(memcg);
return 0;
}
...
static int mem_cgroup_swappiness_write(struct cgroup_subsys_state *css,
struct cftype *cft, u64 val)
{
struct mem_cgroup *memcg = mem_cgroup_from_css(css);
if (val > 100)
return -EINVAL;
if (css->parent)
memcg->swappiness = val;
else
vm_swappiness = val;
return 0;
}
Thanks.
--
tejun
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2014-05-16 16:30 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-05-16 16:30 [linux-next / akpm] Heads up on minor conflicts in mm/memcontrol.c Tejun Heo
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox