Re: [PATCH] kswapd: no need reclaim cma pages triggered by unmovable allocation

From: kernel test robot
Date: Sat Mar 13 2021 - 05:52:04 EST


Hi zhou,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on tip/perf/core]
[cannot apply to linux/master linus/master hnaz-linux-mm/master v5.12-rc2 next-20210312]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url: https://github.com/0day-ci/linux/commits/zhou/kswapd-no-need-reclaim-cma-pages-triggered-by-unmovable-allocation/20210313-163541
base: https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git 8bcfdd7cad3dffdd340f9a79098cbf331eb2cd53
config: m68k-randconfig-c023-20210313 (attached as .config)
compiler: m68k-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/0day-ci/linux/commit/f40216b4d0325cf640d1c3ebe448772d6430bc6a
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review zhou/kswapd-no-need-reclaim-cma-pages-triggered-by-unmovable-allocation/20210313-163541
git checkout f40216b4d0325cf640d1c3ebe448772d6430bc6a
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=m68k

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@xxxxxxxxx>

All errors (new ones prefixed by >>):

>> mm/vmscan.c:3991:6: error: expected ';', ',' or ')' before 'enum'
3991 | enum zone_type highest_zoneidx)
| ^~~~
mm/vmscan.c:3405:13: warning: 'pgdat_watermark_boosted' defined but not used [-Wunused-function]
3405 | static bool pgdat_watermark_boosted(pg_data_t *pgdat, int highest_zoneidx)
| ^~~~~~~~~~~~~~~~~~~~~~~


vim +3991 mm/vmscan.c

^1da177e4c3f41 Linus Torvalds 2005-04-16 3982
^1da177e4c3f41 Linus Torvalds 2005-04-16 3983 /*
5ecd9d403ad081 David Rientjes 2018-04-05 3984 * A zone is low on free memory or too fragmented for high-order memory. If
5ecd9d403ad081 David Rientjes 2018-04-05 3985 * kswapd should reclaim (direct reclaim is deferred), wake it up for the zone's
5ecd9d403ad081 David Rientjes 2018-04-05 3986 * pgdat. It will wake up kcompactd after reclaiming memory. If kswapd reclaim
5ecd9d403ad081 David Rientjes 2018-04-05 3987 * has failed or is not needed, still wake up kcompactd if only compaction is
5ecd9d403ad081 David Rientjes 2018-04-05 3988 * needed.
^1da177e4c3f41 Linus Torvalds 2005-04-16 3989 */
f40216b4d0325c zhou xianrong 2021-03-13 3990 void wakeup_kswapd(struct zone *zone, gfp_t gfp_flags, int order, int migratetype
97a225e69a1f88 Joonsoo Kim 2020-06-03 @3991 enum zone_type highest_zoneidx)
^1da177e4c3f41 Linus Torvalds 2005-04-16 3992 {
^1da177e4c3f41 Linus Torvalds 2005-04-16 3993 pg_data_t *pgdat;
5644e1fbbfe15a Qian Cai 2020-04-01 3994 enum zone_type curr_idx;
f40216b4d0325c zhou xianrong 2021-03-13 3995 int curr_migratetype;
^1da177e4c3f41 Linus Torvalds 2005-04-16 3996
6aa303defb7454 Mel Gorman 2016-09-01 3997 if (!managed_zone(zone))
^1da177e4c3f41 Linus Torvalds 2005-04-16 3998 return;
^1da177e4c3f41 Linus Torvalds 2005-04-16 3999
5ecd9d403ad081 David Rientjes 2018-04-05 4000 if (!cpuset_zone_allowed(zone, gfp_flags))
^1da177e4c3f41 Linus Torvalds 2005-04-16 4001 return;
5644e1fbbfe15a Qian Cai 2020-04-01 4002
88f5acf88ae6a9 Mel Gorman 2011-01-13 4003 pgdat = zone->zone_pgdat;
97a225e69a1f88 Joonsoo Kim 2020-06-03 4004 curr_idx = READ_ONCE(pgdat->kswapd_highest_zoneidx);
f40216b4d0325c zhou xianrong 2021-03-13 4005 curr_migratetype = READ_ONCE(pgdat->kswapd_migratetype);
5644e1fbbfe15a Qian Cai 2020-04-01 4006
97a225e69a1f88 Joonsoo Kim 2020-06-03 4007 if (curr_idx == MAX_NR_ZONES || curr_idx < highest_zoneidx)
97a225e69a1f88 Joonsoo Kim 2020-06-03 4008 WRITE_ONCE(pgdat->kswapd_highest_zoneidx, highest_zoneidx);
5644e1fbbfe15a Qian Cai 2020-04-01 4009
5644e1fbbfe15a Qian Cai 2020-04-01 4010 if (READ_ONCE(pgdat->kswapd_order) < order)
5644e1fbbfe15a Qian Cai 2020-04-01 4011 WRITE_ONCE(pgdat->kswapd_order, order);
dffcac2cb88e4e Shakeel Butt 2019-07-04 4012
f40216b4d0325c zhou xianrong 2021-03-13 4013 if (curr_migratetype == MIGRATE_TYPES || is_migrate_movable(migratetype))
f40216b4d0325c zhou xianrong 2021-03-13 4014 WRITE_ONCE(pgdat->kswapd_migratetype, migratetype);
f40216b4d0325c zhou xianrong 2021-03-13 4015
8d0986e289a4b0 Con Kolivas 2005-09-13 4016 if (!waitqueue_active(&pgdat->kswapd_wait))
^1da177e4c3f41 Linus Torvalds 2005-04-16 4017 return;
e1a556374abc0d Mel Gorman 2016-07-28 4018
5ecd9d403ad081 David Rientjes 2018-04-05 4019 /* Hopeless node, leave it to direct reclaim if possible */
5ecd9d403ad081 David Rientjes 2018-04-05 4020 if (pgdat->kswapd_failures >= MAX_RECLAIM_RETRIES ||
97a225e69a1f88 Joonsoo Kim 2020-06-03 4021 (pgdat_balanced(pgdat, order, highest_zoneidx) &&
97a225e69a1f88 Joonsoo Kim 2020-06-03 4022 !pgdat_watermark_boosted(pgdat, highest_zoneidx))) {
5ecd9d403ad081 David Rientjes 2018-04-05 4023 /*
5ecd9d403ad081 David Rientjes 2018-04-05 4024 * There may be plenty of free memory available, but it's too
5ecd9d403ad081 David Rientjes 2018-04-05 4025 * fragmented for high-order allocations. Wake up kcompactd
5ecd9d403ad081 David Rientjes 2018-04-05 4026 * and rely on compaction_suitable() to determine if it's
5ecd9d403ad081 David Rientjes 2018-04-05 4027 * needed. If it fails, it will defer subsequent attempts to
5ecd9d403ad081 David Rientjes 2018-04-05 4028 * ratelimit its work.
5ecd9d403ad081 David Rientjes 2018-04-05 4029 */
5ecd9d403ad081 David Rientjes 2018-04-05 4030 if (!(gfp_flags & __GFP_DIRECT_RECLAIM))
97a225e69a1f88 Joonsoo Kim 2020-06-03 4031 wakeup_kcompactd(pgdat, order, highest_zoneidx);
88f5acf88ae6a9 Mel Gorman 2011-01-13 4032 return;
5ecd9d403ad081 David Rientjes 2018-04-05 4033 }
88f5acf88ae6a9 Mel Gorman 2011-01-13 4034
97a225e69a1f88 Joonsoo Kim 2020-06-03 4035 trace_mm_vmscan_wakeup_kswapd(pgdat->node_id, highest_zoneidx, order,
f40216b4d0325c zhou xianrong 2021-03-13 4036 migratetype, gfp_flags);
8d0986e289a4b0 Con Kolivas 2005-09-13 4037 wake_up_interruptible(&pgdat->kswapd_wait);
^1da177e4c3f41 Linus Torvalds 2005-04-16 4038 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 4039

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx

Attachment: .config.gz
Description: application/gzip