Re: [RFC PATCH 5/8] hugetlb: change free_pool_huge_page to remove_pool_huge_page

From: Mike Kravetz
Date: Wed Mar 24 2021 - 12:40:03 EST


On 3/24/21 1:40 AM, Michal Hocko wrote:
> On Tue 23-03-21 18:03:07, Mike Kravetz wrote:
> [...]
>> Since you brought up cgroups ... what is your opinion on lock hold time
>> in hugetlb_cgroup_css_offline? We could potentially be calling
>> hugetlb_cgroup_move_parent for every hugetlb page while holding the lock
>> with interrupts disabled.
>
> I am not familiar with hugetlb cgroup code TBH. But from a quick look
> there is not much of heavy lifting there. If we find out that this is
> really visible we can do the lock dance with cond_resched and retry with
> the iteration again. Or is there any strong reason to process the list
> in a single go?

AFAICT, the primary reason for processing the list in a single go is
that the lock protects the list. If you drop the lock, the list can
change ...

I have come up with a (not so pretty) way of processing the list in
batches of pages. But, I dod not want to introduce that if there is no
need. Perhaps just take a wait and see approach for now.

I'll see if I can come up with some timing information to determine
if/when we may have an issue.
--
Mike Kravetz