linux/include
Mel Gorman 29c2a88157 mm: optimize put_mems_allowed() usage
commit d26914d117 upstream.

Since put_mems_allowed() is strictly optional, its a seqcount retry, we
don't need to evaluate the function if the allocation was in fact
successful, saving a smp_rmb some loads and comparisons on some relative
fast-paths.

Since the naming, get/put_mems_allowed() does suggest a mandatory
pairing, rename the interface, as suggested by Mel, to resemble the
seqcount interface.

This gives us: read_mems_allowed_begin() and read_mems_allowed_retry(),
where it is important to note that the return value of the latter call
is inverted from its previous incarnation.

Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
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>
Signed-off-by: Mel Gorman <mgorman@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
History 2014-10-09 12:21:28 -07:00
..
acpi ACPI / hotplug: Generate online uevents for ACPI containers 2014-10-05 14:52:16 -07:00
asm-generic mm: use paravirt friendly ops for NUMA hinting ptes 2014-05-31 13:20:30 -07:00
clocksource drivers: clocksource: add support for ARM architected timer event stream 2013-09-26 09:48:00 +01:00
crypto crypto: scatterwalk - Use sg_chain_ptr on chain entries 2013-12-09 19:58:52 +08:00
drm drm/radeon: add additional SI pci ids 2014-09-05 16:34:15 -07:00
dt-bindings pinctrl: dra: dt-bindings: Fix pull enable/disable 2014-08-07 14:52:38 -07:00
keys KEYS: Separate the kernel signature checking keyring from module signing 2013-09-25 17:17:01 +01:00
kvm ARM: KVM: fix non-VGIC compilation 2014-03-06 09:47:42 +01:00
linux mm: optimize put_mems_allowed() usage 2014-10-09 12:21:28 -07:00
math-emu math-emu: fix floating-point to integer overflow detection 2014-01-07 18:36:24 -06:00
media media: vb2: fix VBI/poll regression 2014-10-09 12:21:27 -07:00
memory ddr: add LPDDR2 data from JESD209-2 2012-05-02 00:04:06 -07:00
misc [media] altera-stapl: it is time to move out from staging 2011-09-23 15:00:57 -03:00
net regulatory: add NUL to alpha2 2014-10-05 14:52:20 -07:00
pcmcia pcmcia/ds.h: introduce helper for pcmcia_driver module boilerplate 2013-03-15 12:26:03 -07:00
ras edac: add support for error type "Info" 2013-02-21 14:16:27 -03:00
rdma IB/core: Don't resolve passive side RoCE L2 address in CMA REQ handler 2014-05-06 07:59:28 -07:00
rxrpc atomic: use <linux/atomic.h> 2011-07-26 16:49:47 -07:00
scsi scsi: do not issue SCSI RSOC command to Promise Vtrak E610f 2014-09-17 09:19:14 -07:00
sound ALSA: control: Protect user controls against concurrent access 2014-06-26 15:15:43 -04:00
target target: Report correct response length for some commands 2014-06-30 20:12:00 -07:00
trace tracing: Fix syscall_*regfunc() vs copy_process() race 2014-07-06 18:57:29 -07:00
uapi usb: gadget: f_fs: drop duplicate usb_functionfs_descs_head declaration 2014-10-05 14:52:14 -07:00
video video: pxa168fb: Cleanup pxa168fb.h file 2014-01-17 10:57:43 +02:00
xen Merge branch 'for-linus' of git://git.kernel.dk/linux-block 2014-02-14 10:45:18 -08:00
Kbuild UAPI: remove empty Kbuild files 2013-04-30 17:04:09 -07:00