linux/drivers/mtd
Linus Torvalds caf491916b Revert "revert "Revert "mm: remove __GFP_NO_KSWAPD""" and associated damage
This reverts commits a50915394f and
d7c3b937bd.

This is a revert of a revert of a revert.  In addition, it reverts the
even older i915 change to stop using the __GFP_NO_KSWAPD flag due to the
original commits in linux-next.

It turns out that the original patch really was bogus, and that the
original revert was the correct thing to do after all.  We thought we
had fixed the problem, and then reverted the revert, but the problem
really is fundamental: waking up kswapd simply isn't the right thing to
do, and direct reclaim sometimes simply _is_ the right thing to do.

When certain allocations fail, we simply should try some direct reclaim,
and if that fails, fail the allocation.  That's the right thing to do
for THP allocations, which can easily fail, and the GPU allocations want
to do that too.

So starting kswapd is sometimes simply wrong, and removing the flag that
said "don't start kswapd" was a mistake.  Let's hope we never revisit
this mistake again - and certainly not this many times ;)

Acked-by: Mel Gorman <mgorman@suse.de>
Acked-by: Johannes Weiner <hannes@cmpxchg.org>
Cc: Rik van Riel <riel@redhat.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2012-12-10 11:03:05 -08:00
..
chips mtd: cfi_cmdset_0001: Fix problem with unlocking timeout 2012-09-29 15:29:08 +01:00
devices mtd: slram: invalid checking of absolute end address 2012-11-09 17:02:50 +02:00
lpddr
maps mtd: autcpu12-nvram: drop frees of devm_ alloc'd data 2012-09-29 15:33:36 +01:00
nand mtd: nand: fix Samsung SLC detection regression 2012-11-15 15:37:43 +02:00
onenand mtd: onenand: Make flexonenand_set_boundary static 2012-11-09 17:02:50 +02:00
tests mtd: mtd_nandecctest: add double bit error detection tests 2012-09-29 15:48:02 +01:00
ubi UBI: dont call ubi_self_check_all_ff() in __wl_get_peb() 2012-12-04 16:04:31 +02:00
afs.c
ar7part.c
bcm47xxpart.c mtd: bcm47part driver for BCM47XX chipsets 2012-09-29 15:32:31 +01:00
bcm63xxpart.c
cmdlinepart.c mtd: cmdlinepart: make the partitions rule more strict 2012-09-29 15:44:25 +01:00
ftl.c
inftlcore.c
inftlmount.c
Kconfig mtd: bcm47part driver for BCM47XX chipsets 2012-09-29 15:32:31 +01:00
Makefile mtd: bcm47part driver for BCM47XX chipsets 2012-09-29 15:32:31 +01:00
mtd_blkdevs.c
mtdblock_ro.c
mtdblock.c
mtdchar.c mtd: Disable mtdchar mmap on MMU systems 2012-10-09 15:08:42 +01:00
mtdconcat.c
mtdcore.c Revert "revert "Revert "mm: remove __GFP_NO_KSWAPD""" and associated damage 2012-12-10 11:03:05 -08:00
mtdcore.h
mtdoops.c UAPI Disintegration 2012-10-09 2012-10-09 15:04:25 +01:00
mtdpart.c UAPI Disintegration 2012-10-09 2012-10-09 15:04:25 +01:00
mtdsuper.c VFS: Pass mount flags to sget() 2012-07-14 16:38:34 +04:00
mtdswap.c
nftlcore.c
nftlmount.c
ofpart.c mtd: ofpart: Fix incorrect NULL check in parse_ofoldpart_partitions() 2012-10-10 09:12:39 +01:00
redboot.c
rfd_ftl.c
sm_ftl.c mtd: kill MTD_NAND_VERIFY_WRITE 2012-09-29 15:00:46 +01:00
sm_ftl.h
ssfdc.c