Re: [patch -mm] mm, hugetlb: schedule when potentially allocating many hugepages

From: David Rientjes
Date: Fri Jun 09 2017 - 18:35:34 EST


On Wed, 7 Jun 2017, Mike Kravetz wrote:

> > @@ -2364,6 +2366,7 @@ static unsigned long set_max_huge_pages(struct hstate *h, unsigned long count,
> > ret = alloc_fresh_gigantic_page(h, nodes_allowed);
> > else
> > ret = alloc_fresh_huge_page(h, nodes_allowed);
> > + cond_resched();
>
> Are not the following lines immediately before the above huge page allocation
> in set_max_huge_pages, or am I looking at an incorrect version of the file?
>
> /* yield cpu to avoid soft lockup */
> cond_resched();

Ahh, we don't have this in our tree, thanks for catching it. The other
two cond_resched()'s are needed because we have reproduced them, so I'll
send a v2.