[sbates130272-p2pmem:p2pdma_user_cmb_v4 18/24] block/bio.c:787:7: error: implicit declaration of function 'zone_device_pages_are_mergeable'

From: kernel test robot
Date: Fri Oct 01 2021 - 01:39:02 EST


tree: https://github.com/sbates130272/linux-p2pmem.git p2pdma_user_cmb_v4
head: fafffd8dc69edfad4ffca8e67bd6520f3a1a004f
commit: 2f33a0989872f1edd3353c300c33f6671f6d0d3c [18/24] block: add check when merging zone device pages
config: hexagon-randconfig-r045-20211001 (attached as .config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 962e503cc8bc411f7523cc393acae8aae425b1c4)
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/sbates130272/linux-p2pmem/commit/2f33a0989872f1edd3353c300c33f6671f6d0d3c
git remote add sbates130272-p2pmem https://github.com/sbates130272/linux-p2pmem.git
git fetch --no-tags sbates130272-p2pmem p2pdma_user_cmb_v4
git checkout 2f33a0989872f1edd3353c300c33f6671f6d0d3c
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 ARCH=hexagon

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

All errors (new ones prefixed by >>):

>> block/bio.c:787:7: error: implicit declaration of function 'zone_device_pages_are_mergeable' [-Werror,-Wimplicit-function-declaration]
if (!zone_device_pages_are_mergeable(bv->bv_page, page))
^
block/bio.c:787:7: note: did you mean 'zone_device_pages_are_mergable'?
include/linux/mm.h:1164:20: note: 'zone_device_pages_are_mergable' declared here
static inline bool zone_device_pages_are_mergable(const struct page *a,
^
1 error generated.


vim +/zone_device_pages_are_mergeable +787 block/bio.c

774
775 static inline bool page_is_mergeable(const struct bio_vec *bv,
776 struct page *page, unsigned int len, unsigned int off,
777 bool *same_page)
778 {
779 size_t bv_end = bv->bv_offset + bv->bv_len;
780 phys_addr_t vec_end_addr = page_to_phys(bv->bv_page) + bv_end - 1;
781 phys_addr_t page_addr = page_to_phys(page);
782
783 if (vec_end_addr + 1 != page_addr + off)
784 return false;
785 if (xen_domain() && !xen_biovec_phys_mergeable(bv, page))
786 return false;
> 787 if (!zone_device_pages_are_mergeable(bv->bv_page, page))
788 return false;
789
790 *same_page = ((vec_end_addr & PAGE_MASK) == page_addr);
791 if (*same_page)
792 return true;
793 return (bv->bv_page + bv_end / PAGE_SIZE) == (page + off / PAGE_SIZE);
794 }
795

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

Attachment: .config.gz
Description: application/gzip