Message ID | 20220330234719.18340-3-richard.weiyang@gmail.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | mm/memcg: some cleanup for mem_cgroup_iter() | expand |
On Wed, Mar 30, 2022 at 11:47:18PM +0000, Wei Yang wrote: > During mem_cgroup_iter, there are two ways to get iteration position: > reclaim vs non-reclaim mode. > > Let's do it explicitly for reclaim vs non-reclaim mode. > > Signed-off-by: Wei Yang <richard.weiyang@gmail.com> Reviewed-by: Roman Gushchin <roman.gushchin@linux.dev> Thanks! > > --- > v2: split into two explicit part as suggested by Johannes > --- > mm/memcontrol.c | 5 ++--- > 1 file changed, 2 insertions(+), 3 deletions(-) > > diff --git a/mm/memcontrol.c b/mm/memcontrol.c > index eed9916cdce5..5d433b79ba47 100644 > --- a/mm/memcontrol.c > +++ b/mm/memcontrol.c > @@ -1005,9 +1005,6 @@ struct mem_cgroup *mem_cgroup_iter(struct mem_cgroup *root, > if (!root) > root = root_mem_cgroup; > > - if (prev && !reclaim) > - pos = prev; > - > rcu_read_lock(); > > if (reclaim) { > @@ -1033,6 +1030,8 @@ struct mem_cgroup *mem_cgroup_iter(struct mem_cgroup *root, > */ > (void)cmpxchg(&iter->position, pos, NULL); > } > + } else if (prev) { > + pos = prev; > } > > if (pos) > -- > 2.33.1 > >
On Wed, Mar 30, 2022 at 11:47:18PM +0000, Wei Yang wrote: > During mem_cgroup_iter, there are two ways to get iteration position: > reclaim vs non-reclaim mode. > > Let's do it explicitly for reclaim vs non-reclaim mode. > > Signed-off-by: Wei Yang <richard.weiyang@gmail.com> Acked-by: Johannes Weiner <hannes@cmpxchg.org>
diff --git a/mm/memcontrol.c b/mm/memcontrol.c index eed9916cdce5..5d433b79ba47 100644 --- a/mm/memcontrol.c +++ b/mm/memcontrol.c @@ -1005,9 +1005,6 @@ struct mem_cgroup *mem_cgroup_iter(struct mem_cgroup *root, if (!root) root = root_mem_cgroup; - if (prev && !reclaim) - pos = prev; - rcu_read_lock(); if (reclaim) { @@ -1033,6 +1030,8 @@ struct mem_cgroup *mem_cgroup_iter(struct mem_cgroup *root, */ (void)cmpxchg(&iter->position, pos, NULL); } + } else if (prev) { + pos = prev; } if (pos)
During mem_cgroup_iter, there are two ways to get iteration position: reclaim vs non-reclaim mode. Let's do it explicitly for reclaim vs non-reclaim mode. Signed-off-by: Wei Yang <richard.weiyang@gmail.com> --- v2: split into two explicit part as suggested by Johannes --- mm/memcontrol.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-)