[3.11.y.z extended stable] Patch "mm/hugetlb.c: add cond_resched_lock() in return_unused_surplus_pages()" has been added to staging queue

Luis Henriques luis.henriques at canonical.com
Tue Apr 22 10:06:25 UTC 2014


This is a note to let you know that I have just added a patch titled

    mm/hugetlb.c: add cond_resched_lock() in return_unused_surplus_pages()

to the linux-3.11.y-queue branch of the 3.11.y.z extended stable tree 
which can be found at:

 http://kernel.ubuntu.com/git?p=ubuntu/linux.git;a=shortlog;h=refs/heads/linux-3.11.y-queue

If you, or anyone else, feels it should not be added to this tree, please 
reply to this email.

For more information about the 3.11.y.z tree, see
https://wiki.ubuntu.com/Kernel/Dev/ExtendedStable

Thanks.
-Luis

------

>From 29cb4c5a6e85ca9a6342fb3dbe44ca8933618f0a Mon Sep 17 00:00:00 2001
From: "Mizuma, Masayoshi" <m.mizuma at 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()

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 at jp.fujitsu.com>
Signed-off-by: Naoya Horiguchi <n-horiguchi at ah.jp.nec.com>
Cc: Joonsoo Kim <iamjoonsoo.kim at lge.com>
Cc: Michal Hocko <mhocko at suse.cz>
Cc: Aneesh Kumar <aneesh.kumar at linux.vnet.ibm.com>
Cc: KOSAKI Motohiro <kosaki.motohiro at jp.fujitsu.com>
Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>
Signed-off-by: Luis Henriques <luis.henriques at canonical.com>
---
 mm/hugetlb.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/mm/hugetlb.c b/mm/hugetlb.c
index b9f86f8..f8e292a 100644
--- a/mm/hugetlb.c
+++ b/mm/hugetlb.c
@@ -1093,6 +1093,7 @@ static void return_unused_surplus_pages(struct hstate *h,
 	while (nr_pages--) {
 		if (!free_pool_huge_page(h, &node_states[N_MEMORY], 1))
 			break;
+		cond_resched_lock(&hugetlb_lock);
 	}
 }

--
1.9.1





More information about the kernel-team mailing list