Messages in this thread | | | Subject | Re: [RFC PATCH 5/8] hugetlb: change free_pool_huge_page to remove_pool_huge_page | From | Mike Kravetz <> | Date | Wed, 24 Mar 2021 09:38:17 -0700 |
| |
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
| |