summaryrefslogtreecommitdiffstats
path: root/mm/mempolicy.c
diff options
context:
space:
mode:
authorKevin Hilman <khilman@linaro.org>2014-01-21 16:55:05 -0800
committerKevin Hilman <khilman@linaro.org>2014-01-21 16:55:17 -0800
commit935b0d622f16538d071af823388c21c2e6f66134 (patch)
treee076fb718a68241d21a73bb338c8e97175187a7e /mm/mempolicy.c
parent310c85476d5047f5ace4d1c527e1bbbc0c7ad672 (diff)
parent30d831156b3a7f249c08cbe457a0d728160db39b (diff)
downloadlinux-stable-935b0d622f16538d071af823388c21c2e6f66134.tar.gz
linux-stable-935b0d622f16538d071af823388c21c2e6f66134.tar.bz2
linux-stable-935b0d622f16538d071af823388c21c2e6f66134.zip
Merge tag 'bcm-for-3.14-dt' of git://github.com/broadcom/bcm11351 into next/dt
From Christian Daudt: Add i2c, usb and clock DT configuration to bcm mobile. * tag 'bcm-for-3.14-dt' of git://github.com/broadcom/bcm11351: (697 commits) clk: bcm281xx: define kona clock binding ARM: dts: add usb udc support to bcm281xx ARM: dts: Specify clocks for timer on bcm11351 Documentation: dt: kona-timer: Add clocks property ARM: dts: Specify clocks for SDHCIs on bcm11351 Documentation: dt: kona-sdhci: Add clocks property ARM: dts: Specify clocks for UARTs on bcm11351 ARM: dts: bcm281xx: Add i2c busses ARM: dts: Declare clocks as fixed on bcm11351 ARM: dts: bcm28155-ap: Enable all the i2c busses +Linux 3.13-rc5 ... Signed-off-by: Kevin Hilman <khilman@linaro.org>
Diffstat (limited to 'mm/mempolicy.c')
-rw-r--r--mm/mempolicy.c16
1 files changed, 9 insertions, 7 deletions
diff --git a/mm/mempolicy.c b/mm/mempolicy.c
index eca4a3129129..0cd2c4d4e270 100644
--- a/mm/mempolicy.c
+++ b/mm/mempolicy.c
@@ -1197,14 +1197,16 @@ static struct page *new_vma_page(struct page *page, unsigned long private, int *
break;
vma = vma->vm_next;
}
+
+ if (PageHuge(page)) {
+ if (vma)
+ return alloc_huge_page_noerr(vma, address, 1);
+ else
+ return NULL;
+ }
/*
- * queue_pages_range() confirms that @page belongs to some vma,
- * so vma shouldn't be NULL.
+ * if !vma, alloc_page_vma() will use task or system default policy
*/
- BUG_ON(!vma);
-
- if (PageHuge(page))
- return alloc_huge_page_noerr(vma, address, 1);
return alloc_page_vma(GFP_HIGHUSER_MOVABLE, vma, address);
}
#else
@@ -1318,7 +1320,7 @@ static long do_mbind(unsigned long start, unsigned long len,
if (nr_failed && (flags & MPOL_MF_STRICT))
err = -EIO;
} else
- putback_lru_pages(&pagelist);
+ putback_movable_pages(&pagelist);
up_write(&mm->mmap_sem);
mpol_out: