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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux