lkml.org 
[lkml]   [2020]   [Jun]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: net/sunrpc/svcsock.c:226:5: warning: "ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE" is not defined
From
Date
Hello-

> On Jun 12, 2020, at 2:31 AM, kernel test robot <lkp@intel.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@intel.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@klimt 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@klimt 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



\
 
 \ /
  Last update: 2020-06-12 16:18    [W:0.056 / U:1.436 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site