Re: [PATCH 3/3] mm/hugetlb: Assert hugetlb_lock in __hugetlb_cgroup_commit_charge

From: Peter Xu
Date: Fri Apr 19 2024 - 11:22:12 EST


On Fri, Apr 19, 2024 at 08:03:08AM -0700, Mina Almasry wrote:
> On Wed, Apr 17, 2024 at 2:18 PM Peter Xu <peterx@xxxxxxxxxx> wrote:
> >
> > This is similar to __hugetlb_cgroup_uncharge_folio() where it relies on
> > holding hugetlb_lock. Add the similar assertion like the other one, since
> > it looks like such things may help some day.
> >
> > Signed-off-by: Peter Xu <peterx@xxxxxxxxxx>
>
> Reviewed-by: Mina Almasry <almasrymina@xxxxxxxxxx>

Thanks.

>
> > ---
> > mm/hugetlb_cgroup.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/mm/hugetlb_cgroup.c b/mm/hugetlb_cgroup.c
> > index aa4486bd3904..e20339a346b9 100644
> > --- a/mm/hugetlb_cgroup.c
> > +++ b/mm/hugetlb_cgroup.c
> > @@ -308,7 +308,7 @@ static void __hugetlb_cgroup_commit_charge(int idx, unsigned long nr_pages,
> > {
> > if (hugetlb_cgroup_disabled() || !h_cg)
> > return;
> > -
> > + lockdep_assert_held(&hugetlb_lock);
>
> Maybe also remove the comment on the top of the function:
>
> /* Should be called with hugetlb_lock held */
>
> Now that the function asserts, the comment seems redundant, but up to you.

IMHO there's no harm to be verbose in this case, so I'll just keep it
simple to be as-is.

Thanks,

--
Peter Xu