From 70927c4a5657138164a4856e18f7620ba0380624 Mon Sep 17 00:00:00 2001 From: Hannes Eder Date: Tue, 6 Jan 2009 14:39:58 -0800 Subject: [PATCH] --- yaml --- r: 126231 b: refs/heads/master c: ebdd4aea8d736e3b5ce27ab0a26860c9fded341b h: refs/heads/master i: 126229: e2626765c9fe50baa97e1cfb890231d6311a9786 126227: ea09eecf7787d6ad5451caed0a4c6f9cff605304 126223: 814b9facc356c98d452e910f1e615178155395b5 v: v3 --- [refs] | 2 +- trunk/mm/hugetlb.c | 12 ++++++++---- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/[refs] b/[refs] index dcea5348b2b6..50a6428f1104 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: f0d7a4b3ed46816f5097d521850a8ab7a0d40f3c +refs/heads/master: ebdd4aea8d736e3b5ce27ab0a26860c9fded341b diff --git a/trunk/mm/hugetlb.c b/trunk/mm/hugetlb.c index 9595278b5ab4..82321da23cc3 100644 --- a/trunk/mm/hugetlb.c +++ b/trunk/mm/hugetlb.c @@ -400,8 +400,10 @@ static void clear_huge_page(struct page *page, { int i; - if (unlikely(sz > MAX_ORDER_NR_PAGES)) - return clear_gigantic_page(page, addr, sz); + if (unlikely(sz > MAX_ORDER_NR_PAGES)) { + clear_gigantic_page(page, addr, sz); + return; + } might_sleep(); for (i = 0; i < sz/PAGE_SIZE; i++) { @@ -433,8 +435,10 @@ static void copy_huge_page(struct page *dst, struct page *src, int i; struct hstate *h = hstate_vma(vma); - if (unlikely(pages_per_huge_page(h) > MAX_ORDER_NR_PAGES)) - return copy_gigantic_page(dst, src, addr, vma); + if (unlikely(pages_per_huge_page(h) > MAX_ORDER_NR_PAGES)) { + copy_gigantic_page(dst, src, addr, vma); + return; + } might_sleep(); for (i = 0; i < pages_per_huge_page(h); i++) {