| From 7848a4bf51b34f41fcc9bd77e837126d99ae84e3 Mon Sep 17 00:00:00 2001 |
| From: "Mizuma, Masayoshi" <m.mizuma@jp.fujitsu.com> |
| Date: Fri, 18 Apr 2014 15:07:18 -0700 |
| Subject: mm/hugetlb.c: add cond_resched_lock() in return_unused_surplus_pages() |
| |
| From: "Mizuma, Masayoshi" <m.mizuma@jp.fujitsu.com> |
| |
| commit 7848a4bf51b34f41fcc9bd77e837126d99ae84e3 upstream. |
| |
| soft lockup in freeing gigantic hugepage fixed in commit 55f67141a892 "mm: |
| hugetlb: fix softlockup when a large number of hugepages are freed." can |
| happen in return_unused_surplus_pages(), so let's fix it. |
| |
| Signed-off-by: Masayoshi Mizuma <m.mizuma@jp.fujitsu.com> |
| Signed-off-by: Naoya Horiguchi <n-horiguchi@ah.jp.nec.com> |
| Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com> |
| Cc: Michal Hocko <mhocko@suse.cz> |
| Cc: Aneesh Kumar <aneesh.kumar@linux.vnet.ibm.com> |
| Cc: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com> |
| Signed-off-by: Andrew Morton <akpm@linux-foundation.org> |
| Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| mm/hugetlb.c | 1 + |
| 1 file changed, 1 insertion(+) |
| |
| --- a/mm/hugetlb.c |
| +++ b/mm/hugetlb.c |
| @@ -1134,6 +1134,7 @@ static void return_unused_surplus_pages( |
| while (nr_pages--) { |
| if (!free_pool_huge_page(h, &node_states[N_MEMORY], 1)) |
| break; |
| + cond_resched_lock(&hugetlb_lock); |
| } |
| } |
| |