Re: [PATCH 1/4] mm, memcontrol: avoid duplicated memcg enable check

Chris Li
2024-12-03T18:28:46Z

Hi Kairui,

On Tue, Dec 3, 2024 at 12:26 AM Kairui Song <ryncsn@gmail.com> wrote:
>
> On Tue, Dec 3, 2024 at 3:11 AM Yosry Ahmed <yosryahmed@google.com> wrote:
> >
> > On Mon, Dec 2, 2024 at 10:42 AM Kairui Song <ryncsn@gmail.com> wrote:
> > >
> > > From: Kairui Song <kasong@tencent.com>
> > >
> > > mem_cgroup_uncharge_swap() implies a mem_cgroup_disabled() check,
> > > which is already checked by the caller here. Skip it by calling
> > > __mem_cgroup_uncharge_swap() directly.
> > >
> > > Signed-off-by: Kairui Song <kasong@tencent.com>
> > > ---
> > > mm/memcontrol.c | 2 +-
> > > 1 file changed, 1 insertion(+), 1 deletion(-)
> > >
> > > diff --git a/mm/memcontrol.c b/mm/memcontrol.c
> > > index 7b3503d12aaf..d3d1eb506eee 100644
> > > --- a/mm/memcontrol.c
> > > +++ b/mm/memcontrol.c
> > > @@ -4615,7 +4615,7 @@ void mem_cgroup_swapin_uncharge_swap(swp_entry_t entry, unsigned int nr_pages)
> > > * let's not wait for it. The page already received a
> > > * memory+swap charge, drop the swap entry duplicate.
> > > */
> > > - mem_cgroup_uncharge_swap(entry, nr_pages);
> > > + __mem_cgroup_uncharge_swap(entry, nr_pages);
> >
> > Would it be better to instead remove the mem_cgroup_disabled() check
> > here and have a single check in this path?
>
> Good suggestion, and the kernel test bot just reported
> __mem_cgroup_uncharge_swap is undefined with !CONFIG_SWAP, so better
> to fix it by removing the check instead.

Agree with Yosry on the suggestion of calling
mem_cgroup_uncharge_swap() instead. With that.

Acked-by: Chris Li <chrisl@kernel.org>

Chris

>
> >
> > Anyway, FWIW:
> >
> > Reviewed-by: Yosry Ahmed <yosryahmed@google.com>
> >
> > > }
> > > }
> > >
> > > --
> > > 2.47.0
> > >
> >