On Wed 24-03-21 09:38:17, Mike Kravetz wrote:
On 3/24/21 1:40 AM, Michal Hocko wrote:
quoted
On Tue 23-03-21 18:03:07, Mike Kravetz wrote:
[...]
quoted
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.
I wouldn't bother at this stage. This can be done on top.
--
Michal Hocko
SUSE Labs