diff options
Diffstat (limited to 'mm')
-rw-r--r-- | mm/hugetlb.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/mm/hugetlb.c b/mm/hugetlb.c index 9d724c0383d2..88b472bec71d 100644 --- a/mm/hugetlb.c +++ b/mm/hugetlb.c @@ -1756,6 +1756,10 @@ static unsigned long set_max_huge_pages(struct hstate *h, unsigned long count, * and reducing the surplus. */ spin_unlock(&hugetlb_lock); + + /* yield cpu to avoid soft lockup */ + cond_resched(); + if (hstate_is_gigantic(h)) ret = alloc_fresh_gigantic_page(h, nodes_allowed); else |