aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/mtd
diff options
context:
space:
mode:
authorRik van Riel <riel@redhat.com>2012-10-08 19:28:21 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2012-10-09 03:22:15 -0400
commitc654345924f7cce87bb221b89db91cba890421ba (patch)
tree980c9a496ac0e2497ef156ff5b83701295d1ecf8 /drivers/mtd
parent075663d19885eb3738fd2d7dbdb8947e12563b68 (diff)
mm: remove __GFP_NO_KSWAPD
When transparent huge pages were introduced, memory compaction and swap storms were an issue, and the kernel had to be careful to not make THP allocations cause pageout or compaction. Now that we have working compaction deferral, kswapd is smart enough to invoke compaction and the quadratic behaviour around isolate_free_pages has been fixed, it should be safe to remove __GFP_NO_KSWAPD. [minchan@kernel.org: Comment fix] [mgorman@suse.de: Avoid direct reclaim for deferred compaction] Cc: Andrea Arcangeli <aarcange@redhat.com> Signed-off-by: Rik van Riel <riel@redhat.com> Signed-off-by: Mel Gorman <mgorman@suse.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers/mtd')
-rw-r--r--drivers/mtd/mtdcore.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/drivers/mtd/mtdcore.c b/drivers/mtd/mtdcore.c
index 575730744fdb..b9adff543f5f 100644
--- a/drivers/mtd/mtdcore.c
+++ b/drivers/mtd/mtdcore.c
@@ -1056,8 +1056,7 @@ EXPORT_SYMBOL_GPL(mtd_writev);
1056 * until the request succeeds or until the allocation size falls below 1056 * until the request succeeds or until the allocation size falls below
1057 * the system page size. This attempts to make sure it does not adversely 1057 * the system page size. This attempts to make sure it does not adversely
1058 * impact system performance, so when allocating more than one page, we 1058 * impact system performance, so when allocating more than one page, we
1059 * ask the memory allocator to avoid re-trying, swapping, writing back 1059 * ask the memory allocator to avoid re-trying.
1060 * or performing I/O.
1061 * 1060 *
1062 * Note, this function also makes sure that the allocated buffer is aligned to 1061 * Note, this function also makes sure that the allocated buffer is aligned to
1063 * the MTD device's min. I/O unit, i.e. the "mtd->writesize" value. 1062 * the MTD device's min. I/O unit, i.e. the "mtd->writesize" value.
@@ -1071,8 +1070,7 @@ EXPORT_SYMBOL_GPL(mtd_writev);
1071 */ 1070 */
1072void *mtd_kmalloc_up_to(const struct mtd_info *mtd, size_t *size) 1071void *mtd_kmalloc_up_to(const struct mtd_info *mtd, size_t *size)
1073{ 1072{
1074 gfp_t flags = __GFP_NOWARN | __GFP_WAIT | 1073 gfp_t flags = __GFP_NOWARN | __GFP_WAIT | __GFP_NORETRY;
1075 __GFP_NORETRY | __GFP_NO_KSWAPD;
1076 size_t min_alloc = max_t(size_t, mtd->writesize, PAGE_SIZE); 1074 size_t min_alloc = max_t(size_t, mtd->writesize, PAGE_SIZE);
1077 void *kbuf; 1075 void *kbuf;
1078 1076