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] 8cc621d2f45d, 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 243418e3925d5b5b0657ae54c322d43035e97eed)
[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
..
2020-12-09 08:09:26 +01:00
2020-10-24 12:26:05 -07:00
2021-03-04 11:38:37 +01:00
2021-06-03 18:47:38 +02:00
2020-10-16 11:11:22 -07:00
2020-09-18 16:45:50 -04:00
2021-01-06 14:56:52 +01:00
2021-06-12 14:48:14 +02:00
2021-03-30 14:32:07 +02:00
2021-05-22 15:34:48 +02:00
2021-06-03 18:47:38 +02:00
2021-03-24 21:32:54 +00:00
2020-09-18 16:45:50 -04:00
2021-05-13 07:53:32 +00:00
2021-05-19 10:13:19 +02:00
2021-05-19 10:12:52 +02:00
2021-05-27 08:36:46 +02:00
2020-11-25 16:55:02 +01:00
2020-09-18 16:45:50 -04:00
2021-06-09 12:02:00 +00:00
2021-05-11 14:47:36 +02:00
2020-10-28 21:20:34 +01:00
2021-06-12 14:48:14 +02:00
2021-09-16 08:46:29 -07:00
2020-09-18 16:45:50 -04:00
2020-06-03 16:27:18 -07:00
2021-09-24 13:30:08 +00:00
2021-06-12 14:48:14 +02:00
2020-11-02 11:59:56 +01:00
2021-05-20 15:35:25 +02:00
2021-04-14 08:42:06 +02:00
2020-09-18 16:45:50 -04:00
2021-05-19 10:13:11 +02:00
2021-07-21 20:51:47 +01:00
2021-04-09 09:29:17 +02:00
2021-03-04 11:38:00 +01:00
2021-05-19 10:13:19 +02:00
2021-05-13 14:22:11 +02:00
2021-03-07 12:53:30 +01:00
2021-01-27 11:55:29 +01:00
2020-12-30 11:53:30 +01:00
2020-09-18 16:45:50 -04:00
2021-06-03 18:47:38 +02:00
2020-12-30 11:53:45 +01:00
2021-05-19 10:13:03 +02:00
2021-02-13 13:55:16 +01:00
2020-06-14 01:57:21 +09:00
2021-01-19 09:33:21 +01:00
2021-02-26 10:13:00 +01:00
2021-06-12 14:48:14 +02:00
2020-09-22 23:39:45 -04:00
2020-08-12 12:01:09 +02:00
2021-05-15 09:28:55 +02:00
2021-07-29 15:10:21 -04:00
2021-07-15 18:27:15 +00:00
2020-09-18 16:45:50 -04:00
2020-09-18 16:45:50 -04:00
2021-03-04 11:37:53 +01:00
2020-10-16 11:11:22 -07:00
2021-04-09 09:29:17 +02:00
2020-10-24 12:26:05 -07:00
2021-05-20 15:35:25 +02:00
2020-10-02 12:02:30 +02:00
2020-09-18 16:45:50 -04:00
2021-05-13 14:22:11 +02:00
2021-03-17 17:06:23 +01:00
2020-10-24 12:26:05 -07:00
2020-09-27 21:56:06 +00:00
2020-10-15 15:11:56 -07:00
2021-05-13 07:53:32 +00:00
2021-05-15 09:28:55 +02:00
2021-03-25 09:04:05 +01:00
2020-11-10 16:53:07 -08:00
2021-03-03 16:18:33 +00:00
2020-05-29 08:49:31 +02:00
2020-06-03 23:16:55 -04:00
2020-05-07 16:55:47 -05:00
2020-10-16 11:11:21 -07:00
2020-10-29 17:22:59 -05:00
2020-06-04 19:18:29 -07:00
2020-08-24 08:49:13 +10:00
2021-03-17 17:06:35 +01:00
2020-06-04 19:18:29 -07:00
2021-06-03 18:47:38 +02:00
2021-09-27 17:48:37 -07:00
2020-05-14 16:44:23 +02:00
2020-06-05 13:45:21 -07:00
2021-04-30 09:13:35 -07:00
2020-10-14 14:54:45 -07:00
2021-05-19 10:13:12 +02:00
2020-07-29 16:14:27 +02:00
2021-04-15 14:23:41 +02:00
2021-05-13 14:22:11 +02:00
2021-06-04 06:26:01 +00:00
2021-01-06 14:56:53 +01:00
2020-10-17 15:05:30 -06:00
2021-01-30 13:55:18 +01:00
2020-08-23 17:36:59 -05:00
2020-10-13 18:38:27 -07:00
2020-07-29 16:14:27 +02:00
2021-01-27 11:54:53 +01:00
2020-08-23 17:36:59 -05:00
2020-08-04 21:02:38 -04:00
2020-12-30 11:53:49 +01:00
2020-09-22 23:45:57 -04:00
2021-06-10 13:39:23 +02:00
2021-02-13 13:54:56 +01:00
2021-02-13 13:54:56 +01:00
2020-07-31 08:16:01 +02:00
2021-02-18 11:21:01 +01:00
2020-06-14 01:57:21 +09:00
2020-10-05 13:37:04 +02:00
2021-03-01 19:06:56 -08:00
2021-03-20 10:43:44 +01:00
2020-10-27 11:47:16 +01:00
2020-05-14 16:44:24 +02:00
2020-06-12 14:39:46 +02:00
2021-04-15 14:23:41 +02:00
2021-01-19 18:27:32 +01:00
2020-05-13 11:41:22 +02:00
2021-07-09 13:48:44 +00:00
2021-08-03 21:20:32 +00:00
2020-08-08 13:04:28 +02:00
2021-03-17 17:06:13 +01:00
2020-06-24 17:54:12 +02:00
2020-12-30 11:54:02 +01:00
2020-11-02 09:27:39 +01:00
2021-04-21 13:00:54 +02:00
2020-10-15 09:48:49 -07:00
2021-03-25 09:04:16 +01:00
2020-11-15 22:12:53 -05:00
2020-08-23 17:36:59 -05:00
2020-11-02 09:27:41 +01:00
2021-05-11 14:47:33 +02:00
2020-08-27 16:06:47 -04:00
2020-11-10 16:53:11 -08:00
2020-06-25 14:25:32 +02:00
2021-03-24 17:57:22 +00:00
2021-06-04 19:13:03 +00:00
2020-07-31 08:16:01 +02:00
2020-10-25 11:57:29 +01:00