linux/include
Minchan Kim a9ac6ae90e BACKPORT: UPSTREAM: mm: fs: invalidate bh_lrus for only cold path
kernel test robot reported the regression of fio.write_iops[1] with [2].

Since lru_add_drain is called frequently, invalidate bh_lrus there could
increase bh_lrus cache miss ratio, which needs more IO in the end.

This patch moves the bh_lrus invalidation from the hot path( e.g.,
zap_page_range, pagevec_release) to cold path(i.e., lru_add_drain_all,
lru_cache_disable).

"Xing, Zhengjun" confirmed

: I test the patch, the regression reduced to -2.9%.

[1] https://lore.kernel.org/lkml/20210520083144.GD14190@xsang-OptiPlex-9020/
[2] 8cc621d2f4, mm: fs: invalidate BH LRU during page migration

Bug: 194673488
Link: https://lkml.kernel.org/r/20210907212347.1977686-1-minchan@kernel.org
(cherry picked from commit 243418e392)
[Chris: resolved conflicts due to Minchan's AOSP LRU commits]
Signed-off-by: Minchan Kim <minchan@kernel.org>
Reported-by: kernel test robot <oliver.sang@intel.com>
Reviewed-by: Chris Goldsworthy <cgoldswo@codeaurora.org>
Tested-by: "Xing, Zhengjun" <zhengjun.xing@intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Chris Goldsworthy <quic_cgoldswo@quicinc.com>
Change-Id: Icc5e456b058df516480b4378853464d6d7b43505
2021-09-27 17:48:37 -07:00
..
acpi ACPI: scan: Use unique number for instance_no 2021-03-30 14:32:06 +02:00
asm-generic ANDROID: vmlinux.lds.h: Keep .eh_frame with CFI 2021-06-02 21:54:54 +00:00
clocksource
crypto FROMLIST: crypto: shash - stop comparing function pointers to avoid breaking CFI 2021-06-11 07:49:58 +00:00
drm UPSTREAM: drm/drm_vblank: set the dma-fence timestamp during send_vblank_event 2021-04-07 14:20:07 +00:00
dt-bindings FROMGIT: dt-bindings: connector: Replace BIT macro with generic bit ops 2021-06-07 06:15:29 +00:00
keys security: keys: trusted: fix TPM2 authorizations 2021-05-14 09:50:20 +02:00
kunit
kvm
linux BACKPORT: UPSTREAM: mm: fs: invalidate bh_lrus for only cold path 2021-09-27 17:48:37 -07:00
math-emu
media ANDROID: add kabi padding for structures for the android12 release 2021-07-14 20:51:51 -07:00
memory
misc
net ANDROID: GKI: add vendor padding variable in struct sock 2021-07-14 20:52:03 -07:00
pcmcia
ras
rdma
scsi ANDROID: add kabi padding for structures for the android12 release 2021-07-14 20:51:51 -07:00
soc UPSTREAM: memory: mtk-smi: Allow building as module 2021-03-24 12:45:16 -07:00
sound BACKPORT: ASoC: soc-pcm: Get all BEs along DAPM path 2021-09-27 09:43:32 +00:00
target scsi: target: core: Add cmd length set before cmd complete 2021-03-17 17:06:25 +01:00
trace ANDROID: Disable CFI on restricted vendor hooks in TRACE_HEADER_MULTI_READ 2021-09-09 17:44:12 +00:00
uapi FROMGIT: binder: fix freeze race 2021-09-14 07:22:07 +00:00
vdso
video
xen