Johannes Weiner
e97ca8e5b8
mm: fix GFP_THISNODE callers and clarify
...
GFP_THISNODE is for callers that implement their own clever fallback to
remote nodes. It restricts the allocation to the specified node and
does not invoke reclaim, assuming that the caller will take care of it
when the fallback fails, e.g. through a subsequent allocation request
without GFP_THISNODE set.
However, many current GFP_THISNODE users only want the node exclusive
aspect of the flag, without actually implementing their own fallback or
triggering reclaim if necessary. This results in things like page
migration failing prematurely even when there is easily reclaimable
memory available, unless kswapd happens to be running already or a
concurrent allocation attempt triggers the necessary reclaim.
Convert all callsites that don't implement their own fallback strategy
to __GFP_THISNODE. This restricts the allocation a single node too, but
at the same time allows the allocator to enter the slowpath, wake
kswapd, and invoke direct reclaim if necessary, to make the allocation
happen when memory is full.
Signed-off-by: Johannes Weiner <hannes@cmpxchg.org>
Acked-by: Rik van Riel <riel@redhat.com>
Cc: Jan Stancek <jstancek@redhat.com>
Cc: Mel Gorman <mgorman@suse.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2014-03-10 17:26:19 -07:00
..
altera-stapl
c2port
c2port: convert class code to use bin_attrs in groups
2013-07-24 15:39:05 -07:00
carma
Merge branch 'next' of git://git.infradead.org/users/vkoul/slave-dma
2013-11-20 13:20:24 -08:00
cb710
mmc: cb710: drop free_irq for devm_request_irq allocated irq
2013-09-26 13:55:30 -07:00
eeprom
Revert "misc: eeprom: sunxi: Add new compatibles"
2014-02-14 11:16:08 -08:00
genwqe
misc: genwqe: Fix potential memory leak when pinning memory
2014-02-07 15:24:31 -08:00
ibmasm
misc: ibmasm: remove unnecessary pci_set_drvdata()
2013-09-26 09:13:54 -07:00
lis3lv02d
misc: replace strict_strtoul() with kstrtoul()
2013-06-06 12:54:08 -07:00
mei
mei: set client's read_cb to NULL when flow control fails
2014-02-18 10:07:36 -08:00
mic
misc: mic: fix possible signed underflow (undefined behavior) in userspace API
2014-02-07 15:30:34 -08:00
sgi-gru
drivers/misc/sgi-gru/grukdump.c: unlocking should be conditional in gru_dump_context()
2014-02-10 16:01:39 -08:00
sgi-xp
mm: fix GFP_THISNODE callers and clarify
2014-03-10 17:26:19 -07:00
ti-st
drivers/misc/ti-st: Prefer tty_driver_flush_buffer
2013-12-04 20:23:51 -08:00
vmw_vmci
VMCI: fix error handling path when registering guest driver
2014-01-09 16:16:15 -08:00
ad525x_dpot-i2c.c
ad525x_dpot-spi.c
ad525x_dpot.c
drivers: misc: Mark functions as static in ad525x_dpot.c
2013-12-18 16:41:52 -08:00
ad525x_dpot.h
apds990x.c
misc: replace strict_strtoul() with kstrtoul()
2013-06-06 12:54:08 -07:00
apds9802als.c
misc: replace strict_strtoul() with kstrtoul()
2013-06-06 12:54:08 -07:00
arm-charlcd.c
misc: arm-charlcd: remove deprecated IRQF_DISABLED
2013-10-16 12:36:10 -07:00
atmel-ssc.c
Merge 3.11-rc3 into char-misc-next.
2013-07-29 11:50:17 -07:00
atmel_pwm.c
misc: atmel_pwm: add deferred-probing support
2013-10-29 16:22:57 -07:00
atmel_tclib.c
bh1770glc.c
misc: replace strict_strtoul() with kstrtoul()
2013-06-06 12:54:08 -07:00
bh1780gli.c
misc: bh1780: probe from compatible string
2013-10-03 16:02:35 -07:00
bmp085-i2c.c
misc: bmp085: Clean up and enable use of interrupt for completion.
2013-12-04 20:23:51 -08:00
bmp085-spi.c
misc: bmp085: Clean up and enable use of interrupt for completion.
2013-12-04 20:23:51 -08:00
bmp085.c
misc: bmp085: Clean up and enable use of interrupt for completion.
2013-12-04 20:23:51 -08:00
bmp085.h
misc: bmp085: Clean up and enable use of interrupt for completion.
2013-12-04 20:23:51 -08:00
cs5535-mfgpt.c
ds1682.c
dummy-irq.c
enclosure.c
[SCSI] enclosure: fix WARN_ON in dual path device removing
2013-12-02 11:13:14 -08:00
fsa9480.c
treewide: fix comments and printk msgs
2014-01-07 15:06:07 +01:00
hmc6352.c
misc: replace strict_strtoul() with kstrtoul()
2013-06-06 12:54:08 -07:00
hpilo.c
drivers/misc/hpilo: Correct panic when an AUX iLO is detected
2013-08-14 14:46:22 -07:00
hpilo.h
ics932s401.c
hwmon: Change my email address.
2013-08-27 08:28:01 -07:00
ioc4.c
isl29003.c
misc: replace strict_strtoul() with kstrtoul()
2013-06-06 12:54:08 -07:00
isl29020.c
misc: replace strict_strtoul() with kstrtoul()
2013-06-06 12:54:08 -07:00
Kconfig
GenWQE Enable driver
2013-12-18 16:51:15 -08:00
kgdbts.c
lattice-ecp3-config.c
lkdtm.c
drivers: misc: Mark function jp_generic_ide_ioctl() as static in lkdtm.c
2013-12-18 16:41:52 -08:00
Makefile
GenWQE Enable driver
2013-12-18 16:51:15 -08:00
pch_phub.c
pch_phub: fix error return code in pch_phub_probe()
2013-06-06 12:54:08 -07:00
phantom.c
misc: phantom: remove deprecated IRQF_DISABLED
2013-10-16 12:36:10 -07:00
pti.c
misc: pti: remove unnecessary pci_set_drvdata()
2013-09-26 09:13:54 -07:00
spear13xx_pcie_gadget.c
misc: replace strict_strtoul() with kstrtoul()
2013-06-06 12:54:08 -07:00
sram.c
misc: sram: fix error path in sram_probe
2013-07-24 22:54:50 -07:00
ti_dac7512.c
drivers: misc: ti_dac7512: add support for DT matching
2013-09-26 09:04:06 -07:00
tifm_7xx1.c
tifm: fix error return code in tifm_7xx1_probe()
2013-10-30 10:19:30 -07:00
tifm_core.c
tifm: convert bus code to use dev_groups
2013-10-16 18:40:58 -07:00
tsl2550.c
vmw_balloon.c
misc: vmw_balloon: Remove braces to fix build for clang.
2013-08-27 21:51:21 -07:00