linux/drivers/staging
Mel Gorman 453f85d43f mm: remove __GFP_COLD
As the page free path makes no distinction between cache hot and cold
pages, there is no real useful ordering of pages in the free list that
allocation requests can take advantage of.  Juding from the users of
__GFP_COLD, it is likely that a number of them are the result of copying
other sites instead of actually measuring the impact.  Remove the
__GFP_COLD parameter which simplifies a number of paths in the page
allocator.

This is potentially controversial but bear in mind that the size of the
per-cpu pagelists versus modern cache sizes means that the whole per-cpu
list can often fit in the L3 cache.  Hence, there is only a potential
benefit for microbenchmarks that alloc/free pages in a tight loop.  It's
even worse when THP is taken into account which has little or no chance
of getting a cache-hot page as the per-cpu list is bypassed and the
zeroing of multiple pages will thrash the cache anyway.

The truncate microbenchmarks are not shown as this patch affects the
allocation path and not the free path.  A page fault microbenchmark was
tested but it showed no sigificant difference which is not surprising
given that the __GFP_COLD branches are a miniscule percentage of the
fault path.

Link: http://lkml.kernel.org/r/20171018075952.10627-9-mgorman@techsingularity.net
Signed-off-by: Mel Gorman <mgorman@techsingularity.net>
Acked-by: Vlastimil Babka <vbabka@suse.cz>
Cc: Andi Kleen <ak@linux.intel.com>
Cc: Dave Chinner <david@fromorbit.com>
Cc: Dave Hansen <dave.hansen@intel.com>
Cc: Jan Kara <jack@suse.cz>
Cc: Johannes Weiner <hannes@cmpxchg.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2017-11-15 18:21:06 -08:00
..
android Staging/IIO patches for 4.15-rc1 2017-11-13 20:53:28 -08:00
board License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
ccree staging: ccree: simplify ioread/iowrite 2017-11-06 16:47:04 +01:00
clocking-wizard
comedi Staging/IIO patches for 4.15-rc1 2017-11-13 20:53:28 -08:00
dgnc Staging/IIO patches for 4.15-rc1 2017-11-13 20:53:28 -08:00
emxx_udc
fbtft Staging/IIO patches for 4.15-rc1 2017-11-13 20:53:28 -08:00
fsl-dpaa2 staging: fsl-dpaa2/eth: Extra headroom in RX buffers 2017-11-03 16:19:27 +01:00
fsl-mc staging: fsl-mc/dpio: Fix incorrect comparison 2017-10-03 18:34:56 +02:00
fwserial Staging/IIO patches for 4.15-rc1 2017-11-13 20:53:28 -08:00
gdm724x Staging/IIO patches for 4.15-rc1 2017-11-13 20:53:28 -08:00
goldfish staging: goldfish: (Coding Style) Fixed parenthesis alignment. 2017-08-31 18:21:37 +02:00
greybus Staging/IIO patches for 4.15-rc1 2017-11-13 20:53:28 -08:00
gs_fpgaboot staging: gs_fpgaboot: pr_err() strings should end with newlines 2017-10-03 18:36:25 +02:00
iio Staging/IIO patches for 4.15-rc1 2017-11-13 20:53:28 -08:00
irda staging/irda-usb: Convert timers to use timer_setup() 2017-10-20 14:42:50 +02:00
ks7010 Staging/IIO patches for 4.15-rc1 2017-11-13 20:53:28 -08:00
lustre mm: remove __GFP_COLD 2017-11-15 18:21:06 -08:00
media Staging/IIO patches for 4.15-rc1 2017-11-13 20:53:28 -08:00
most License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mt29f_spinand staging: mt29f_spinand: Enable the read ECC before program the page 2017-09-18 12:25:31 +02:00
netlogic staging: net: netlogic: Fix alignment issue 2017-10-18 16:17:14 +02:00
nvec License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
octeon staging: octeon: fix line over 80 characters 2017-08-18 15:57:17 -07:00
octeon-usb
olpc_dcon License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
pi433 staging: pi433: rf69.c style fix - space before asterisk 2017-10-18 15:56:32 +02:00
rtl8188eu Staging/IIO patches for 4.15-rc1 2017-11-13 20:53:28 -08:00
rtl8192e Staging/IIO patches for 4.15-rc1 2017-11-13 20:53:28 -08:00
rtl8192u Staging/IIO patches for 4.15-rc1 2017-11-13 20:53:28 -08:00
rtl8712 Staging/IIO patches for 4.15-rc1 2017-11-13 20:53:28 -08:00
rtl8723bs Staging/IIO patches for 4.15-rc1 2017-11-13 20:53:28 -08:00
rtlwifi staging: rtl8822be: fix wrong dma unmap len 2017-11-03 14:49:08 +01:00
rts5208 Staging/IIO patches for 4.15-rc1 2017-11-13 20:53:28 -08:00
skein License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
sm750fb Staging/IIO patches for 4.15-rc1 2017-11-13 20:53:28 -08:00
speakup Staging/IIO patches for 4.15-rc1 2017-11-13 20:53:28 -08:00
typec staging: typec: tcpci: mark expected switch fall-through in tcpci_to_typec_cc 2017-10-18 16:42:28 +02:00
unisys Staging/IIO patches for 4.15-rc1 2017-11-13 20:53:28 -08:00
vboxvideo Staging/IIO patches for 4.15-rc1 2017-11-13 20:53:28 -08:00
vc04_services Staging/IIO patches for 4.15-rc1 2017-11-13 20:53:28 -08:00
vme Staging/IIO patches for 4.15-rc1 2017-11-13 20:53:28 -08:00
vt6655 Staging/IIO patches for 4.15-rc1 2017-11-13 20:53:28 -08:00
vt6656 Staging/IIO patches for 4.15-rc1 2017-11-13 20:53:28 -08:00
wilc1000 Staging/IIO patches for 4.15-rc1 2017-11-13 20:53:28 -08:00
wlan-ng USB/PHY patches for 4.15-rc1 2017-11-13 21:14:07 -08:00
xgifb Staging/IIO patches for 4.15-rc1 2017-11-13 20:53:28 -08:00
Kconfig Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2017-09-06 14:45:08 -07:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00