Messages in this thread | | | From | Waiman Long <> | Subject | Re: [PATCH v4 1/5] mm/memcg: Move mod_objcg_state() to memcontrol.c | Date | Mon, 19 Apr 2021 12:18:29 -0400 |
| |
On 4/19/21 11:21 AM, Waiman Long wrote: > On 4/19/21 11:14 AM, Johannes Weiner wrote: >> On Sun, Apr 18, 2021 at 08:00:28PM -0400, Waiman Long wrote: >>> The mod_objcg_state() function is moved from mm/slab.h to >>> mm/memcontrol.c >>> so that further optimization can be done to it in later patches without >>> exposing unnecessary details to other mm components. >>> >>> Signed-off-by: Waiman Long <longman@redhat.com> >>> --- >>> mm/memcontrol.c | 13 +++++++++++++ >>> mm/slab.h | 16 ++-------------- >>> 2 files changed, 15 insertions(+), 14 deletions(-) >>> >>> diff --git a/mm/memcontrol.c b/mm/memcontrol.c >>> index e064ac0d850a..dc9032f28f2e 100644 >>> --- a/mm/memcontrol.c >>> +++ b/mm/memcontrol.c >>> @@ -3150,6 +3150,19 @@ void __memcg_kmem_uncharge_page(struct page >>> *page, int order) >>> css_put(&memcg->css); >>> } >>> +void mod_objcg_state(struct obj_cgroup *objcg, struct pglist_data >>> *pgdat, >>> + enum node_stat_item idx, int nr) >>> +{ >>> + struct mem_cgroup *memcg; >>> + struct lruvec *lruvec = NULL; >>> + >>> + rcu_read_lock(); >>> + memcg = obj_cgroup_memcg(objcg); >>> + lruvec = mem_cgroup_lruvec(memcg, pgdat); >>> + mod_memcg_lruvec_state(lruvec, idx, nr); >>> + rcu_read_unlock(); >>> +} >> It would be more naturally placed next to the others, e.g. below >> __mod_lruvec_kmem_state(). >> >> But no deal breaker if there isn't another revision. >> >> Acked-by: Johannes Weiner <hannes@cmpxchg.org> >> > Yes, there will be another revision by rebasing patch series on the > linux-next. I will move the function then.
OK, it turns out that mod_objcg_state() is only defined if CONFIG_MEMCG_KMEM. That was why I put it in the CONFIG_MEMCG_KMEM block with the other obj_stock functions. I think I will keep it there.
Thanks, Longman
| |