Hi Lorenzo, Thank you for the patch! Yet something to improve: [auto build test ERROR on akpm-mm/mm-everything] [also build test ERROR on vfs-idmapping/for-next linus/master v6.1 next-20221220] [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#_base_tree_information] url: https://github.com/intel-lab-lkp/linux/commits/Lorenzo-Stoakes/mm-pagevec-add-folio_batch_reinit/20221223-035645 base: https://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git mm-everything patch link: https://lore.kernel.org/r/74874865335885dabe0751c1140a6d198dea333d.1671738120.git.lstoakes%40gmail.com patch subject: [PATCH 3/4] mm: mlock: update the interface to use folios config: m68k-mvme147_defconfig compiler: m68k-linux-gcc (GCC) 12.1.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/intel-lab-lkp/linux/commit/1977ecfaf773324c88d542d3056f278d359debe9 git remote add linux-review https://github.com/intel-lab-lkp/linux git fetch --no-tags linux-review Lorenzo-Stoakes/mm-pagevec-add-folio_batch_reinit/20221223-035645 git checkout 1977ecfaf773324c88d542d3056f278d359debe9 # save the config file mkdir build_dir && cp config build_dir/.config COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=m68k olddefconfig COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=m68k SHELL=/bin/bash If you fix the issue, kindly add following tag where applicable | Reported-by: kernel test robot All errors (new ones prefixed by >>): In file included from include/linux/mmzone.h:22, from include/linux/gfp.h:7, from include/linux/mm.h:7, from include/linux/mman.h:5, from mm/mlock.c:10: mm/mlock.c: In function 'mlock_pte_range': >> include/linux/page-flags.h:273:43: error: '_Generic' selector of type 'void *' is not compatible with any association 273 | #define page_folio(p) (_Generic((p), \ | ^ mm/mlock.c:323:25: note: in expansion of macro 'page_folio' 323 | folio = page_folio(pmd_page(*pmd)); | ^~~~~~~~~~ vim +273 include/linux/page-flags.h 0f2317e34e2c7b Matthew Wilcox (Oracle 2021-06-28 259) 7b230db3b8d373 Matthew Wilcox (Oracle 2020-12-06 260) /** 7b230db3b8d373 Matthew Wilcox (Oracle 2020-12-06 261) * page_folio - Converts from page to folio. 7b230db3b8d373 Matthew Wilcox (Oracle 2020-12-06 262) * @p: The page. 7b230db3b8d373 Matthew Wilcox (Oracle 2020-12-06 263) * 7b230db3b8d373 Matthew Wilcox (Oracle 2020-12-06 264) * Every page is part of a folio. This function cannot be called on a 7b230db3b8d373 Matthew Wilcox (Oracle 2020-12-06 265) * NULL pointer. 7b230db3b8d373 Matthew Wilcox (Oracle 2020-12-06 266) * 7b230db3b8d373 Matthew Wilcox (Oracle 2020-12-06 267) * Context: No reference, nor lock is required on @page. If the caller 7b230db3b8d373 Matthew Wilcox (Oracle 2020-12-06 268) * does not hold a reference, this call may race with a folio split, so 7b230db3b8d373 Matthew Wilcox (Oracle 2020-12-06 269) * it should re-check the folio still contains this page after gaining 7b230db3b8d373 Matthew Wilcox (Oracle 2020-12-06 270) * a reference on the folio. 7b230db3b8d373 Matthew Wilcox (Oracle 2020-12-06 271) * Return: The folio which contains this page. 7b230db3b8d373 Matthew Wilcox (Oracle 2020-12-06 272) */ 7b230db3b8d373 Matthew Wilcox (Oracle 2020-12-06 @273) #define page_folio(p) (_Generic((p), \ 7b230db3b8d373 Matthew Wilcox (Oracle 2020-12-06 274) const struct page *: (const struct folio *)_compound_head(p), \ 7b230db3b8d373 Matthew Wilcox (Oracle 2020-12-06 275) struct page *: (struct folio *)_compound_head(p))) 7b230db3b8d373 Matthew Wilcox (Oracle 2020-12-06 276) -- 0-DAY CI Kernel Test Service https://01.org/lkp