[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <AC2CCF35-1313-464A-B20F-AC3424692C31@oracle.com>
Date: Fri, 12 Jun 2020 10:07:58 -0400
From: Chuck Lever <chuck.lever@...cle.com>
To: kernel test robot <lkp@...el.com>
Cc: kbuild-all@...ts.01.org, linux-kernel@...r.kernel.org
Subject: Re: net/sunrpc/svcsock.c:226:5: warning:
"ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE" is not defined
Hello-
> On Jun 12, 2020, at 2:31 AM, kernel test robot <lkp@...el.com> wrote:
>
> Hi Chuck,
>
> FYI, the error/warning still remains.
>
> tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
> head: b791d1bdf9212d944d749a5c7ff6febdba241771
> commit: ca07eda33e01eafa7a26ec06974f7eacee6a89c8 SUNRPC: Refactor svc_recvfrom()
> date: 3 weeks ago
> config: i386-randconfig-r016-20200612 (attached as .config)
> compiler: gcc-6 (Debian 6.3.0-18+deb9u1) 6.3.0 20170516
> reproduce (this is a W=1 build):
> git checkout ca07eda33e01eafa7a26ec06974f7eacee6a89c8
> # save the attached .config to linux build tree
> make W=1 ARCH=i386
>
> If you fix the issue, kindly add following tag as appropriate
> Reported-by: kernel test robot <lkp@...el.com>
>
> All warnings (new ones prefixed by >>, old ones prefixed by <<):
>
>>> net/sunrpc/svcsock.c:226:5: warning: "ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE" is not defined [-Wundef]
> #if ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
IIUC this is a problem with the headers for the i386 architecture.
That macro is defined for most others:
[cel@...mt linux]$ git grep ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE
arch/alpha/include/asm/cacheflush.h:#define ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE 0
arch/arc/include/asm/cacheflush.h:#define ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE 1
arch/arm/include/asm/cacheflush.h:#define ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE 1
arch/arm64/include/asm/cacheflush.h:#define ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE 1
arch/c6x/include/asm/cacheflush.h:#define ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE 0
arch/csky/abiv1/inc/abi/cacheflush.h:#define ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE 1
arch/csky/abiv2/inc/abi/cacheflush.h:#define ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE 1
arch/hexagon/include/asm/cacheflush.h:#define ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE 0
arch/ia64/include/asm/cacheflush.h:#define ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE 1
arch/m68k/include/asm/cacheflush_mm.h:#define ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE 1
arch/m68k/include/asm/cacheflush_no.h:#define ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE 0
arch/microblaze/include/asm/cacheflush.h:#define ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE 1
arch/mips/include/asm/cacheflush.h:#define ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE 1
arch/nds32/include/asm/cacheflush.h:#define ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE 1
arch/nios2/include/asm/cacheflush.h:#define ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE 1
arch/openrisc/include/asm/cacheflush.h:#define ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE 1
arch/parisc/include/asm/cacheflush.h:#define ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE 1
arch/powerpc/include/asm/cacheflush.h:#define ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE 1
arch/riscv/include/asm/cacheflush.h:#define ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE 0
arch/sh/include/asm/cacheflush.h:#define ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE 1
arch/sparc/include/asm/cacheflush_32.h:#define ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE 1
arch/sparc/include/asm/cacheflush_64.h:#define ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE 1
arch/unicore32/include/asm/cacheflush.h:#define ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE 1
arch/xtensa/include/asm/cacheflush.h:#define ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE 1
arch/xtensa/include/asm/cacheflush.h:#define ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE 0
block/blk-core.c:#if ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE
include/asm-generic/cacheflush.h:#define ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE 0
include/crypto/scatterwalk.h: /* Test ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE first as
include/crypto/scatterwalk.h: if (ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE && !PageSlab(page))
include/linux/blkdev.h:#ifndef ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE
include/linux/blkdev.h:# error "You should define ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE for your platform"
include/linux/blkdev.h:#if ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE
net/packet/af_packet.c:#if ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE == 1
net/packet/af_packet.c:#if ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE == 1
net/packet/af_packet.c:#if ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE == 1
net/sunrpc/svcsock.c:#if ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE
net/sunrpc/xprtsock.c:#if ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE
[cel@...mt linux]$
Please let me know how to proceed.
> vim +/ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE +226 net/sunrpc/svcsock.c
>
> 225
>> 226 #if ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE
> 227 static void svc_flush_bvec(const struct bio_vec *bvec, size_t size, size_t seek)
> 228 {
> 229 struct bvec_iter bi = {
> 230 .bi_size = size,
> 231 };
> 232 struct bio_vec bv;
> 233
> 234 bvec_iter_advance(bvec, &bi, seek & PAGE_MASK);
> 235 for_each_bvec(bv, bvec, bi, bi)
> 236 flush_dcache_page(bv.bv_page);
> 237 }
> 238 #else
> 239 static inline void svc_flush_bvec(const struct bio_vec *bvec, size_t size,
> 240 size_t seek)
> 241 {
> 242 }
> 243 #endif
> 244
>
> ---
> 0-DAY CI Kernel Test Service, Intel Corporation
> https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
> <.config.gz>
--
Chuck Lever
Powered by blists - more mailing lists