Re: [PATCH] mm/vmscan: batch TLB flush during memory reclaim
From: Rik van Riel
Date: Thu Mar 20 2025 - 12:55:48 EST
On Thu, 2025-03-20 at 19:42 +0800, kernel test robot wrote:
> Hi Rik,
>
> kernel test robot noticed the following build errors:
>
> [auto build test ERROR on akpm-mm/mm-everything]
>
> url:
> https://github.com/intel-lab-lkp/linux/commits/Rik-van-Riel/mm-vmscan-batch-TLB-flush-during-memory-reclaim/20250320-013150
> base:
> https://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git mm-
> everything
> patch link:
> https://lore.kernel.org/r/20250319132818.1003878b%40fangorn
> patch subject: [PATCH] mm/vmscan: batch TLB flush during memory
> reclaim
> config: sh-randconfig-001-20250320
> (https://download.01.org/0day-ci/archive/20250320/202503201810.9JxSMo
> 0Q-lkp@xxxxxxxxx/config)
> compiler: sh4-linux-gcc (GCC) 14.2.0
> reproduce (this is a W=1 build):
> (https://download.01.org/0day-ci/archive/20250320/202503201810.9JxSMo
> 0Q-lkp@xxxxxxxxx/reproduce)
>
> If you fix the issue in a separate patch/commit (i.e. not just a new
> version of
> the same patch/commit), kindly add following tags
> > Reported-by: kernel test robot <lkp@xxxxxxxxx>
> > Closes:
> > https://lore.kernel.org/oe-kbuild-all/202503201810.9JxSMo0Q-lkp@xxxxxxxxx/
>
> All errors (new ones prefixed by >>):
>
> mm/vmscan.c: In function 'shrink_folio_list':
> > > mm/vmscan.c:1560:53: error: implicit declaration of function
> > > 'folio_test_young'; did you mean 'folio_set_count'? [-Wimplicit-
> > > function-declaration]
> 1560 | (folio_mapped(folio) &&
> folio_test_young(folio)))
> |
> ^~~~~~~~~~~~~~~~
> |
> folio_set_count
This is a fun one, because there appear to be several
instances of folio_test_young sprinkled through mm/*.c
in the current mm tree.
I guess some combination of config options and a previous
change to the tree broke this?
It looks like this failing compile is on sh, without
CONFIG_64BIT, but with CONFIG_PAGE_IDLE_FLAG set.
In that case, page_idle.h has an inline folio_test_young().
Does vmscan.c simply need to #include <linux/page_idle.h>
or should the code be using folio_test_clear_referenced()
instead of folio_test_young() ?
--
All Rights Reversed.