summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2015-04-08 14:42:49 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2015-04-08 14:42:49 -0700
commitb97fdef8e680ca8bdfea6114eea19fb6832d54be (patch)
tree46e67832d876e16dd14cad66e9bf182c828dc794
parent3afe9f849600645723246baa95e7559caeca6ce9 (diff)
parent6b79c57b92cdd90853002980609af516d14c4f9c (diff)
downloadlinux-exynos-b97fdef8e680ca8bdfea6114eea19fb6832d54be.tar.gz
linux-exynos-b97fdef8e680ca8bdfea6114eea19fb6832d54be.tar.bz2
linux-exynos-b97fdef8e680ca8bdfea6114eea19fb6832d54be.zip
Merge branch 'akpm' (patches from Andrew)
Merge misc fixes from Andrew Morton: "Three fixes" * emailed patches from Andrew Morton <akpm@linux-foundation.org>: mm: numa: disable change protection for vma(VM_HUGETLB) include/linux/dmapool.h: declare struct device mm: move zone lock to a different cache line than order-0 free page lists
-rw-r--r--include/linux/dmapool.h2
-rw-r--r--include/linux/mmzone.h7
-rw-r--r--kernel/sched/fair.c4
3 files changed, 8 insertions, 5 deletions
diff --git a/include/linux/dmapool.h b/include/linux/dmapool.h
index 022e34fcbd1b..52456aa566a0 100644
--- a/include/linux/dmapool.h
+++ b/include/linux/dmapool.h
@@ -14,6 +14,8 @@
#include <asm/io.h>
#include <asm/scatterlist.h>
+struct device;
+
struct dma_pool *dma_pool_create(const char *name, struct device *dev,
size_t size, size_t align, size_t allocation);
diff --git a/include/linux/mmzone.h b/include/linux/mmzone.h
index f279d9c158cd..2782df47101e 100644
--- a/include/linux/mmzone.h
+++ b/include/linux/mmzone.h
@@ -474,16 +474,15 @@ struct zone {
unsigned long wait_table_bits;
ZONE_PADDING(_pad1_)
-
- /* Write-intensive fields used from the page allocator */
- spinlock_t lock;
-
/* free areas of different sizes */
struct free_area free_area[MAX_ORDER];
/* zone flags, see below */
unsigned long flags;
+ /* Write-intensive fields used from the page allocator */
+ spinlock_t lock;
+
ZONE_PADDING(_pad2_)
/* Write-intensive fields used by page reclaim */
diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
index bcfe32088b37..241213be507c 100644
--- a/kernel/sched/fair.c
+++ b/kernel/sched/fair.c
@@ -2165,8 +2165,10 @@ void task_numa_work(struct callback_head *work)
vma = mm->mmap;
}
for (; vma; vma = vma->vm_next) {
- if (!vma_migratable(vma) || !vma_policy_mof(vma))
+ if (!vma_migratable(vma) || !vma_policy_mof(vma) ||
+ is_vm_hugetlb_page(vma)) {
continue;
+ }
/*
* Shared library pages mapped by multiple processes are not