Content-Type: multipart/mixed; boundary="===============6698065532962269875==" MIME-Version: 1.0 From: kernel test robot To: kbuild-all@lists.01.org Subject: Re: [PATCH] riscv: atomic: Using ARCH_ATOMIC in asm/atomic.h Date: Thu, 15 Apr 2021 20:29:59 +0800 Message-ID: <202104152048.7XKu6sFa-lkp@intel.com> In-Reply-To: <1618472362-85193-1-git-send-email-guoren@kernel.org> List-Id: --===============6698065532962269875== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Hi, I love your patch! Yet something to improve: [auto build test ERROR on linus/master] [also build test ERROR on v5.12-rc7 next-20210414] [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] url: https://github.com/0day-ci/linux/commits/guoren-kernel-org/riscv-at= omic-Using-ARCH_ATOMIC-in-asm-atomic-h/20210415-154120 base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git = 7f75285ca572eaabc028cf78c6ab5473d0d160be config: riscv-rv32_defconfig (attached as .config) compiler: riscv32-linux-gcc (GCC) 9.3.0 reproduce (this is a W=3D1 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/0day-ci/linux/commit/ed440642566d3f024235d309c= 5b5a19bda62e9e1 git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review guoren-kernel-org/riscv-atomic-Usi= ng-ARCH_ATOMIC-in-asm-atomic-h/20210415-154120 git checkout ed440642566d3f024235d309c5b5a19bda62e9e1 # save the attached .config to linux build tree COMPILER_INSTALL_PATH=3D$HOME/0day COMPILER=3Dgcc-9.3.0 make.cross = W=3D1 ARCH=3Driscv = If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot All error/warnings (new ones prefixed by >>): In file included from include/linux/atomic.h:81, from include/linux/rcupdate.h:25, from include/linux/rculist.h:11, from include/linux/pid.h:5, from include/linux/sched.h:14, from arch/riscv/kernel/asm-offsets.c:10: include/linux/atomic-arch-fallback.h: In function 'arch_atomic64_inc': >> include/linux/atomic-arch-fallback.h:1447:2: error: implicit declaration= of function 'arch_atomic64_add'; did you mean 'arch_atomic_add'? [-Werror= =3Dimplicit-function-declaration] 1447 | arch_atomic64_add(1, v); | ^~~~~~~~~~~~~~~~~ | arch_atomic_add include/linux/atomic-arch-fallback.h: In function 'arch_atomic64_inc_ret= urn': >> include/linux/atomic-arch-fallback.h:1463:9: error: implicit declaration= of function 'arch_atomic64_add_return'; did you mean 'arch_atomic_add_retu= rn'? [-Werror=3Dimplicit-function-declaration] 1463 | return arch_atomic64_add_return(1, v); | ^~~~~~~~~~~~~~~~~~~~~~~~ | arch_atomic_add_return include/linux/atomic-arch-fallback.h: In function 'arch_atomic64_fetch_i= nc': >> include/linux/atomic-arch-fallback.h:1544:9: error: implicit declaration= of function 'arch_atomic64_fetch_add'; did you mean 'arch_atomic_fetch_add= '? [-Werror=3Dimplicit-function-declaration] 1544 | return arch_atomic64_fetch_add(1, v); | ^~~~~~~~~~~~~~~~~~~~~~~ | arch_atomic_fetch_add include/linux/atomic-arch-fallback.h: In function 'arch_atomic64_dec': >> include/linux/atomic-arch-fallback.h:1618:2: error: implicit declaration= of function 'arch_atomic64_sub'; did you mean 'arch_atomic_sub'? [-Werror= =3Dimplicit-function-declaration] 1618 | arch_atomic64_sub(1, v); | ^~~~~~~~~~~~~~~~~ | arch_atomic_sub include/linux/atomic-arch-fallback.h: In function 'arch_atomic64_dec_ret= urn': >> include/linux/atomic-arch-fallback.h:1634:9: error: implicit declaration= of function 'arch_atomic64_sub_return'; did you mean 'arch_atomic_sub_retu= rn'? [-Werror=3Dimplicit-function-declaration] 1634 | return arch_atomic64_sub_return(1, v); | ^~~~~~~~~~~~~~~~~~~~~~~~ | arch_atomic_sub_return include/linux/atomic-arch-fallback.h: In function 'arch_atomic64_fetch_d= ec': >> include/linux/atomic-arch-fallback.h:1715:9: error: implicit declaration= of function 'arch_atomic64_fetch_sub'; did you mean 'arch_atomic_fetch_sub= '? [-Werror=3Dimplicit-function-declaration] 1715 | return arch_atomic64_fetch_sub(1, v); | ^~~~~~~~~~~~~~~~~~~~~~~ | arch_atomic_fetch_sub include/linux/atomic-arch-fallback.h: In function 'arch_atomic64_andnot': >> include/linux/atomic-arch-fallback.h:1831:2: error: implicit declaration= of function 'arch_atomic64_and'; did you mean 'arch_atomic64_inc'? [-Werro= r=3Dimplicit-function-declaration] 1831 | arch_atomic64_and(~i, v); | ^~~~~~~~~~~~~~~~~ | arch_atomic64_inc include/linux/atomic-arch-fallback.h: In function 'arch_atomic64_fetch_a= ndnot': >> include/linux/atomic-arch-fallback.h:1847:9: error: implicit declaration= of function 'arch_atomic64_fetch_and'; did you mean 'arch_atomic64_fetch_i= nc'? [-Werror=3Dimplicit-function-declaration] 1847 | return arch_atomic64_fetch_and(~i, v); | ^~~~~~~~~~~~~~~~~~~~~~~ | arch_atomic64_fetch_inc include/linux/atomic-arch-fallback.h: In function 'arch_atomic64_try_cmp= xchg': >> include/linux/atomic-arch-fallback.h:2097:6: error: implicit declaration= of function 'arch_atomic64_cmpxchg'; did you mean 'arch_atomic_cmpxchg'? [= -Werror=3Dimplicit-function-declaration] 2097 | r =3D arch_atomic64_cmpxchg(v, o, new); | ^~~~~~~~~~~~~~~~~~~~~ | arch_atomic_cmpxchg include/linux/atomic-arch-fallback.h: In function 'arch_atomic64_fetch_a= dd_unless': >> include/linux/atomic-arch-fallback.h:2265:10: error: implicit declaratio= n of function 'arch_atomic64_read'; did you mean 'arch_atomic_read'? [-Werr= or=3Dimplicit-function-declaration] 2265 | s64 c =3D arch_atomic64_read(v); | ^~~~~~~~~~~~~~~~~~ | arch_atomic_read In file included from include/linux/atomic.h:82, from include/linux/rcupdate.h:25, from include/linux/rculist.h:11, from include/linux/pid.h:5, from include/linux/sched.h:14, from arch/riscv/kernel/asm-offsets.c:10: include/asm-generic/atomic-instrumented.h: At top level: >> include/asm-generic/atomic-instrumented.h:835:1: error: static declarati= on of 'atomic64_read' follows non-static declaration 835 | atomic64_read(const atomic64_t *v) | ^~~~~~~~~~~~~ In file included from include/linux/atomic-arch-fallback.h:1254, from include/linux/atomic.h:81, from include/linux/rcupdate.h:25, from include/linux/rculist.h:11, from include/linux/pid.h:5, from include/linux/sched.h:14, from arch/riscv/kernel/asm-offsets.c:10: include/asm-generic/atomic64.h:18:12: note: previous declaration of 'ato= mic64_read' was here 18 | extern s64 atomic64_read(const atomic64_t *v); | ^~~~~~~~~~~~~ In file included from include/linux/atomic.h:82, from include/linux/rcupdate.h:25, from include/linux/rculist.h:11, from include/linux/pid.h:5, from include/linux/sched.h:14, from arch/riscv/kernel/asm-offsets.c:10: >> include/asm-generic/atomic-instrumented.h:853:1: error: static declarati= on of 'atomic64_set' follows non-static declaration 853 | atomic64_set(atomic64_t *v, s64 i) | ^~~~~~~~~~~~ In file included from include/linux/atomic-arch-fallback.h:1254, from include/linux/atomic.h:81, from include/linux/rcupdate.h:25, from include/linux/rculist.h:11, from include/linux/pid.h:5, from include/linux/sched.h:14, from arch/riscv/kernel/asm-offsets.c:10: include/asm-generic/atomic64.h:19:13: note: previous declaration of 'ato= mic64_set' was here 19 | extern void atomic64_set(atomic64_t *v, s64 i); | ^~~~~~~~~~~~ In file included from include/linux/atomic.h:82, from include/linux/rcupdate.h:25, from include/linux/rculist.h:11, from include/linux/pid.h:5, from include/linux/sched.h:14, from arch/riscv/kernel/asm-offsets.c:10: include/asm-generic/atomic-instrumented.h: In function 'atomic64_set': >> include/asm-generic/atomic-instrumented.h:856:2: error: implicit declara= tion of function 'arch_atomic64_set'; did you mean 'arch_atomic64_dec'? [-W= error=3Dimplicit-function-declaration] 856 | arch_atomic64_set(v, i); | ^~~~~~~~~~~~~~~~~ | arch_atomic64_dec In file included from include/linux/atomic-arch-fallback.h:1254, from include/linux/atomic.h:81, from include/linux/rcupdate.h:25, from include/linux/rculist.h:11, from include/linux/pid.h:5, from include/linux/sched.h:14, from arch/riscv/kernel/asm-offsets.c:10: include/asm-generic/atomic-instrumented.h: At top level: >> include/asm-generic/atomic64.h:21:49: error: expected declaration specif= iers or '...' before '(' token 21 | #define atomic64_set_release(v, i) atomic64_set((v), (i)) | ^ include/asm-generic/atomic-instrumented.h:862:1: note: in expansion of m= acro 'atomic64_set_release' 862 | atomic64_set_release(atomic64_t *v, s64 i) | ^~~~~~~~~~~~~~~~~~~~ include/asm-generic/atomic64.h:21:54: error: expected declaration specif= iers or '...' before '(' token 21 | #define atomic64_set_release(v, i) atomic64_set((v), (i)) | ^ include/asm-generic/atomic-instrumented.h:862:1: note: in expansion of m= acro 'atomic64_set_release' 862 | atomic64_set_release(atomic64_t *v, s64 i) | ^~~~~~~~~~~~~~~~~~~~ In file included from include/linux/atomic.h:82, from include/linux/rcupdate.h:25, from include/linux/rculist.h:11, from include/linux/pid.h:5, from include/linux/sched.h:14, from arch/riscv/kernel/asm-offsets.c:10: >> include/asm-generic/atomic-instrumented.h:867: warning: "atomic64_set_re= lease" redefined 867 | #define atomic64_set_release atomic64_set_release | = In file included from include/linux/atomic-arch-fallback.h:1254, from include/linux/atomic.h:81, from include/linux/rcupdate.h:25, from include/linux/rculist.h:11, from include/linux/pid.h:5, from include/linux/sched.h:14, from arch/riscv/kernel/asm-offsets.c:10: include/asm-generic/atomic64.h:21: note: this is the location of the pre= vious definition 21 | #define atomic64_set_release(v, i) atomic64_set((v), (i)) | = In file included from include/linux/atomic.h:82, from include/linux/rcupdate.h:25, from include/linux/rculist.h:11, from include/linux/pid.h:5, from include/linux/sched.h:14, from arch/riscv/kernel/asm-offsets.c:10: >> include/asm-generic/atomic-instrumented.h:871:1: error: static declarati= on of 'atomic64_add' follows non-static declaration 871 | atomic64_add(s64 i, atomic64_t *v) | ^~~~~~~~~~~~ In file included from include/linux/atomic-arch-fallback.h:1254, from include/linux/atomic.h:81, from include/linux/rcupdate.h:25, from include/linux/rculist.h:11, from include/linux/pid.h:5, from include/linux/sched.h:14, from arch/riscv/kernel/asm-offsets.c:10: include/asm-generic/atomic64.h:24:14: note: previous declaration of 'ato= mic64_add' was here 24 | extern void atomic64_##op(s64 a, atomic64_t *v); | ^~~~~~~~~ include/asm-generic/atomic64.h:32:26: note: in expansion of macro 'ATOMI= C64_OP' 32 | #define ATOMIC64_OPS(op) ATOMIC64_OP(op) ATOMIC64_OP_RETURN(op) = ATOMIC64_FETCH_OP(op) | ^~~~~~~~~~~ include/asm-generic/atomic64.h:34:1: note: in expansion of macro 'ATOMIC= 64_OPS' 34 | ATOMIC64_OPS(add) | ^~~~~~~~~~~~ In file included from include/linux/atomic.h:82, from include/linux/rcupdate.h:25, from include/linux/rculist.h:11, from include/linux/pid.h:5, from include/linux/sched.h:14, from arch/riscv/kernel/asm-offsets.c:10: >> include/asm-generic/atomic-instrumented.h:959:1: error: static declarati= on of 'atomic64_sub' follows non-static declaration 959 | atomic64_sub(s64 i, atomic64_t *v) | ^~~~~~~~~~~~ In file included from include/linux/atomic-arch-fallback.h:1254, from include/linux/atomic.h:81, from include/linux/rcupdate.h:25, from include/linux/rculist.h:11, from include/linux/pid.h:5, from include/linux/sched.h:14, from arch/riscv/kernel/asm-offsets.c:10: include/asm-generic/atomic64.h:24:14: note: previous declaration of 'ato= mic64_sub' was here 24 | extern void atomic64_##op(s64 a, atomic64_t *v); | ^~~~~~~~~ include/asm-generic/atomic64.h:32:26: note: in expansion of macro 'ATOMI= C64_OP' 32 | #define ATOMIC64_OPS(op) ATOMIC64_OP(op) ATOMIC64_OP_RETURN(op) = ATOMIC64_FETCH_OP(op) | ^~~~~~~~~~~ include/asm-generic/atomic64.h:35:1: note: in expansion of macro 'ATOMIC= 64_OPS' 35 | ATOMIC64_OPS(sub) | ^~~~~~~~~~~~ In file included from include/linux/atomic.h:82, from include/linux/rcupdate.h:25, from include/linux/rculist.h:11, from include/linux/pid.h:5, from include/linux/sched.h:14, from arch/riscv/kernel/asm-offsets.c:10: >> include/asm-generic/atomic-instrumented.h:1227:1: error: static declarat= ion of 'atomic64_and' follows non-static declaration 1227 | atomic64_and(s64 i, atomic64_t *v) | ^~~~~~~~~~~~ In file included from include/linux/atomic-arch-fallback.h:1254, from include/linux/atomic.h:81, from include/linux/rcupdate.h:25, from include/linux/rculist.h:11, from include/linux/pid.h:5, from include/linux/sched.h:14, from arch/riscv/kernel/asm-offsets.c:10: include/asm-generic/atomic64.h:24:14: note: previous declaration of 'ato= mic64_and' was here 24 | extern void atomic64_##op(s64 a, atomic64_t *v); | ^~~~~~~~~ include/asm-generic/atomic64.h:38:26: note: in expansion of macro 'ATOMI= C64_OP' 38 | #define ATOMIC64_OPS(op) ATOMIC64_OP(op) ATOMIC64_FETCH_OP(op) | ^~~~~~~~~~~ include/asm-generic/atomic64.h:40:1: note: in expansion of macro 'ATOMIC= 64_OPS' 40 | ATOMIC64_OPS(and) | ^~~~~~~~~~~~ In file included from include/linux/atomic.h:82, from include/linux/rcupdate.h:25, from include/linux/rculist.h:11, from include/linux/pid.h:5, from include/linux/sched.h:14, from arch/riscv/kernel/asm-offsets.c:10: >> include/asm-generic/atomic-instrumented.h:1325:1: error: static declarat= ion of 'atomic64_or' follows non-static declaration 1325 | atomic64_or(s64 i, atomic64_t *v) | ^~~~~~~~~~~ In file included from include/linux/atomic-arch-fallback.h:1254, from include/linux/atomic.h:81, from include/linux/rcupdate.h:25, from include/linux/rculist.h:11, from include/linux/pid.h:5, from include/linux/sched.h:14, from arch/riscv/kernel/asm-offsets.c:10: include/asm-generic/atomic64.h:24:14: note: previous declaration of 'ato= mic64_or' was here 24 | extern void atomic64_##op(s64 a, atomic64_t *v); | ^~~~~~~~~ include/asm-generic/atomic64.h:38:26: note: in expansion of macro 'ATOMI= C64_OP' 38 | #define ATOMIC64_OPS(op) ATOMIC64_OP(op) ATOMIC64_FETCH_OP(op) | ^~~~~~~~~~~ include/asm-generic/atomic64.h:41:1: note: in expansion of macro 'ATOMIC= 64_OPS' 41 | ATOMIC64_OPS(or) | ^~~~~~~~~~~~ In file included from include/linux/atomic.h:82, from include/linux/rcupdate.h:25, from include/linux/rculist.h:11, from include/linux/pid.h:5, from include/linux/sched.h:14, from arch/riscv/kernel/asm-offsets.c:10: include/asm-generic/atomic-instrumented.h: In function 'atomic64_or': >> include/asm-generic/atomic-instrumented.h:1328:2: error: implicit declar= ation of function 'arch_atomic64_or'; did you mean 'arch_atomic_or'? [-Werr= or=3Dimplicit-function-declaration] 1328 | arch_atomic64_or(i, v); | ^~~~~~~~~~~~~~~~ | arch_atomic_or In file included from include/linux/atomic.h:81, from include/linux/rcupdate.h:25, from include/linux/rculist.h:11, from include/linux/pid.h:5, from include/linux/sched.h:14, from arch/riscv/kernel/asm-offsets.c:10: include/asm-generic/atomic-instrumented.h: In function 'atomic64_fetch_o= r_acquire': include/linux/atomic-arch-fallback.h:1918:40: error: implicit declaratio= n of function 'arch_atomic64_fetch_or'; did you mean 'arch_atomic_fetch_or'= ? [-Werror=3Dimplicit-function-declaration] 1918 | #define arch_atomic64_fetch_or_acquire arch_atomic64_fetch_or | ^~~~~~~~~~~~~~~~~~~~~~ include/asm-generic/atomic-instrumented.h:1347:9: note: in expansion of = macro 'arch_atomic64_fetch_or_acquire' 1347 | return arch_atomic64_fetch_or_acquire(i, v); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from include/linux/atomic.h:82, from include/linux/rcupdate.h:25, from include/linux/rculist.h:11, from include/linux/pid.h:5, from include/linux/sched.h:14, from arch/riscv/kernel/asm-offsets.c:10: include/asm-generic/atomic-instrumented.h: At top level: include/asm-generic/atomic-instrumented.h:1373:1: error: static declarat= ion of 'atomic64_xor' follows non-static declaration 1373 | atomic64_xor(s64 i, atomic64_t *v) | ^~~~~~~~~~~~ In file included from include/linux/atomic-arch-fallback.h:1254, from include/linux/atomic.h:81, from include/linux/rcupdate.h:25, from include/linux/rculist.h:11, from include/linux/pid.h:5, from include/linux/sched.h:14, from arch/riscv/kernel/asm-offsets.c:10: include/asm-generic/atomic64.h:24:14: note: previous declaration of 'ato= mic64_xor' was here 24 | extern void atomic64_##op(s64 a, atomic64_t *v); | ^~~~~~~~~ include/asm-generic/atomic64.h:38:26: note: in expansion of macro 'ATOMI= C64_OP' 38 | #define ATOMIC64_OPS(op) ATOMIC64_OP(op) ATOMIC64_FETCH_OP(op) | ^~~~~~~~~~~ include/asm-generic/atomic64.h:42:1: note: in expansion of macro 'ATOMIC= 64_OPS' 42 | ATOMIC64_OPS(xor) | ^~~~~~~~~~~~ In file included from include/linux/atomic.h:82, from include/linux/rcupdate.h:25, from include/linux/rculist.h:11, from include/linux/pid.h:5, from include/linux/sched.h:14, from arch/riscv/kernel/asm-offsets.c:10: include/asm-generic/atomic-instrumented.h: In function 'atomic64_xor': include/asm-generic/atomic-instrumented.h:1376:2: error: implicit declar= ation of function 'arch_atomic64_xor'; did you mean 'arch_atomic_xor'? [-We= rror=3Dimplicit-function-declaration] 1376 | arch_atomic64_xor(i, v); | ^~~~~~~~~~~~~~~~~ | arch_atomic_xor In file included from include/linux/atomic.h:81, from include/linux/rcupdate.h:25, from include/linux/rculist.h:11, from include/linux/pid.h:5, from include/linux/sched.h:14, from arch/riscv/kernel/asm-offsets.c:10: include/asm-generic/atomic-instrumented.h: In function 'atomic64_fetch_x= or_acquire': include/linux/atomic-arch-fallback.h:1960:41: error: implicit declaratio= n of function 'arch_atomic64_fetch_xor'; did you mean 'arch_atomic_fetch_xo= r'? [-Werror=3Dimplicit-function-declaration] 1960 | #define arch_atomic64_fetch_xor_acquire arch_atomic64_fetch_xor | ^~~~~~~~~~~~~~~~~~~~~~~ include/asm-generic/atomic-instrumented.h:1395:9: note: in expansion of = macro 'arch_atomic64_fetch_xor_acquire' 1395 | return arch_atomic64_fetch_xor_acquire(i, v); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/asm-generic/atomic-instrumented.h: In function 'atomic64_xchg_ac= quire': include/linux/atomic-arch-fallback.h:2002:36: error: implicit declaratio= n of function 'arch_atomic64_xchg'; did you mean 'arch_atomic_xchg'? [-Werr= or=3Dimplicit-function-declaration] 2002 | #define arch_atomic64_xchg_acquire arch_atomic64_xchg | ^~~~~~~~~~~~~~~~~~ include/asm-generic/atomic-instrumented.h:1435:9: note: in expansion of = macro 'arch_atomic64_xchg_acquire' 1435 | return arch_atomic64_xchg_acquire(v, i); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from include/linux/atomic-arch-fallback.h:1254, from include/linux/atomic.h:81, from include/linux/rcupdate.h:25, from include/linux/rculist.h:11, from include/linux/pid.h:5, from include/linux/sched.h:14, from arch/riscv/kernel/asm-offsets.c:10: include/asm-generic/atomic-instrumented.h: At top level: include/asm-generic/atomic64.h:54:35: error: static declaration of 'atom= ic64_fetch_add_unless' follows non-static declaration 54 | #define atomic64_fetch_add_unless atomic64_fetch_add_unless | ^~~~~~~~~~~~~~~~~~~~~~~~~ include/asm-generic/atomic-instrumented.h:1586:1: note: in expansion of = macro 'atomic64_fetch_add_unless' 1586 | atomic64_fetch_add_unless(atomic64_t *v, s64 a, s64 u) | ^~~~~~~~~~~~~~~~~~~~~~~~~ include/asm-generic/atomic64.h:53:12: note: previous declaration of 'ato= mic64_fetch_add_unless' was here 53 | extern s64 atomic64_fetch_add_unless(atomic64_t *v, s64 a, s64 u= ); | ^~~~~~~~~~~~~~~~~~~~~~~~~ include/asm-generic/atomic64.h:50:34: error: static declaration of 'atom= ic64_dec_if_positive' follows non-static declaration 50 | #define atomic64_dec_if_positive atomic64_dec_if_positive | ^~~~~~~~~~~~~~~~~~~~~~~~ include/asm-generic/atomic-instrumented.h:1636:1: note: in expansion of = macro 'atomic64_dec_if_positive' 1636 | atomic64_dec_if_positive(atomic64_t *v) | ^~~~~~~~~~~~~~~~~~~~~~~~ include/asm-generic/atomic64.h:49:12: note: previous declaration of 'ato= mic64_dec_if_positive' was here 49 | extern s64 atomic64_dec_if_positive(atomic64_t *v); | ^~~~~~~~~~~~~~~~~~~~~~~~ cc1: some warnings being treated as errors .. vim +1463 include/linux/atomic-arch-fallback.h 37f8173dd84936 Peter Zijlstra 2020-01-24 1442 = 37f8173dd84936 Peter Zijlstra 2020-01-24 1443 #ifndef arch_atomic64_inc 37f8173dd84936 Peter Zijlstra 2020-01-24 1444 static __always_inline void 37f8173dd84936 Peter Zijlstra 2020-01-24 1445 arch_atomic64_inc(atomic64_= t *v) 37f8173dd84936 Peter Zijlstra 2020-01-24 1446 { 37f8173dd84936 Peter Zijlstra 2020-01-24 @1447 arch_atomic64_add(1, v); 37f8173dd84936 Peter Zijlstra 2020-01-24 1448 } 37f8173dd84936 Peter Zijlstra 2020-01-24 1449 #define arch_atomic64_inc a= rch_atomic64_inc 37f8173dd84936 Peter Zijlstra 2020-01-24 1450 #endif 37f8173dd84936 Peter Zijlstra 2020-01-24 1451 = 37f8173dd84936 Peter Zijlstra 2020-01-24 1452 #ifndef arch_atomic64_inc_r= eturn_relaxed 37f8173dd84936 Peter Zijlstra 2020-01-24 1453 #ifdef arch_atomic64_inc_re= turn 37f8173dd84936 Peter Zijlstra 2020-01-24 1454 #define arch_atomic64_inc_r= eturn_acquire arch_atomic64_inc_return 37f8173dd84936 Peter Zijlstra 2020-01-24 1455 #define arch_atomic64_inc_r= eturn_release arch_atomic64_inc_return 37f8173dd84936 Peter Zijlstra 2020-01-24 1456 #define arch_atomic64_inc_r= eturn_relaxed arch_atomic64_inc_return 37f8173dd84936 Peter Zijlstra 2020-01-24 1457 #endif /* arch_atomic64_inc= _return */ 37f8173dd84936 Peter Zijlstra 2020-01-24 1458 = 37f8173dd84936 Peter Zijlstra 2020-01-24 1459 #ifndef arch_atomic64_inc_r= eturn 37f8173dd84936 Peter Zijlstra 2020-01-24 1460 static __always_inline s64 37f8173dd84936 Peter Zijlstra 2020-01-24 1461 arch_atomic64_inc_return(at= omic64_t *v) 37f8173dd84936 Peter Zijlstra 2020-01-24 1462 { 37f8173dd84936 Peter Zijlstra 2020-01-24 @1463 return arch_atomic64_add_r= eturn(1, v); 37f8173dd84936 Peter Zijlstra 2020-01-24 1464 } 37f8173dd84936 Peter Zijlstra 2020-01-24 1465 #define arch_atomic64_inc_r= eturn arch_atomic64_inc_return 37f8173dd84936 Peter Zijlstra 2020-01-24 1466 #endif 37f8173dd84936 Peter Zijlstra 2020-01-24 1467 = 37f8173dd84936 Peter Zijlstra 2020-01-24 1468 #ifndef arch_atomic64_inc_r= eturn_acquire 37f8173dd84936 Peter Zijlstra 2020-01-24 1469 static __always_inline s64 37f8173dd84936 Peter Zijlstra 2020-01-24 1470 arch_atomic64_inc_return_ac= quire(atomic64_t *v) 37f8173dd84936 Peter Zijlstra 2020-01-24 1471 { 37f8173dd84936 Peter Zijlstra 2020-01-24 1472 return arch_atomic64_add_r= eturn_acquire(1, v); 37f8173dd84936 Peter Zijlstra 2020-01-24 1473 } 37f8173dd84936 Peter Zijlstra 2020-01-24 1474 #define arch_atomic64_inc_r= eturn_acquire arch_atomic64_inc_return_acquire 37f8173dd84936 Peter Zijlstra 2020-01-24 1475 #endif 37f8173dd84936 Peter Zijlstra 2020-01-24 1476 = 37f8173dd84936 Peter Zijlstra 2020-01-24 1477 #ifndef arch_atomic64_inc_r= eturn_release 37f8173dd84936 Peter Zijlstra 2020-01-24 1478 static __always_inline s64 37f8173dd84936 Peter Zijlstra 2020-01-24 1479 arch_atomic64_inc_return_re= lease(atomic64_t *v) 37f8173dd84936 Peter Zijlstra 2020-01-24 1480 { 37f8173dd84936 Peter Zijlstra 2020-01-24 1481 return arch_atomic64_add_r= eturn_release(1, v); 37f8173dd84936 Peter Zijlstra 2020-01-24 1482 } 37f8173dd84936 Peter Zijlstra 2020-01-24 1483 #define arch_atomic64_inc_r= eturn_release arch_atomic64_inc_return_release 37f8173dd84936 Peter Zijlstra 2020-01-24 1484 #endif 37f8173dd84936 Peter Zijlstra 2020-01-24 1485 = 37f8173dd84936 Peter Zijlstra 2020-01-24 1486 #ifndef arch_atomic64_inc_r= eturn_relaxed 37f8173dd84936 Peter Zijlstra 2020-01-24 1487 static __always_inline s64 37f8173dd84936 Peter Zijlstra 2020-01-24 1488 arch_atomic64_inc_return_re= laxed(atomic64_t *v) 37f8173dd84936 Peter Zijlstra 2020-01-24 1489 { 37f8173dd84936 Peter Zijlstra 2020-01-24 1490 return arch_atomic64_add_r= eturn_relaxed(1, v); 37f8173dd84936 Peter Zijlstra 2020-01-24 1491 } 37f8173dd84936 Peter Zijlstra 2020-01-24 1492 #define arch_atomic64_inc_r= eturn_relaxed arch_atomic64_inc_return_relaxed 37f8173dd84936 Peter Zijlstra 2020-01-24 1493 #endif 37f8173dd84936 Peter Zijlstra 2020-01-24 1494 = 37f8173dd84936 Peter Zijlstra 2020-01-24 1495 #else /* arch_atomic64_inc_= return_relaxed */ 37f8173dd84936 Peter Zijlstra 2020-01-24 1496 = 37f8173dd84936 Peter Zijlstra 2020-01-24 1497 #ifndef arch_atomic64_inc_r= eturn_acquire 37f8173dd84936 Peter Zijlstra 2020-01-24 1498 static __always_inline s64 37f8173dd84936 Peter Zijlstra 2020-01-24 1499 arch_atomic64_inc_return_ac= quire(atomic64_t *v) 37f8173dd84936 Peter Zijlstra 2020-01-24 1500 { 37f8173dd84936 Peter Zijlstra 2020-01-24 1501 s64 ret =3D arch_atomic64_= inc_return_relaxed(v); 37f8173dd84936 Peter Zijlstra 2020-01-24 1502 __atomic_acquire_fence(); 37f8173dd84936 Peter Zijlstra 2020-01-24 1503 return ret; 37f8173dd84936 Peter Zijlstra 2020-01-24 1504 } 37f8173dd84936 Peter Zijlstra 2020-01-24 1505 #define arch_atomic64_inc_r= eturn_acquire arch_atomic64_inc_return_acquire 37f8173dd84936 Peter Zijlstra 2020-01-24 1506 #endif 37f8173dd84936 Peter Zijlstra 2020-01-24 1507 = 37f8173dd84936 Peter Zijlstra 2020-01-24 1508 #ifndef arch_atomic64_inc_r= eturn_release 37f8173dd84936 Peter Zijlstra 2020-01-24 1509 static __always_inline s64 37f8173dd84936 Peter Zijlstra 2020-01-24 1510 arch_atomic64_inc_return_re= lease(atomic64_t *v) 37f8173dd84936 Peter Zijlstra 2020-01-24 1511 { 37f8173dd84936 Peter Zijlstra 2020-01-24 1512 __atomic_release_fence(); 37f8173dd84936 Peter Zijlstra 2020-01-24 1513 return arch_atomic64_inc_r= eturn_relaxed(v); 37f8173dd84936 Peter Zijlstra 2020-01-24 1514 } 37f8173dd84936 Peter Zijlstra 2020-01-24 1515 #define arch_atomic64_inc_r= eturn_release arch_atomic64_inc_return_release 37f8173dd84936 Peter Zijlstra 2020-01-24 1516 #endif 37f8173dd84936 Peter Zijlstra 2020-01-24 1517 = 37f8173dd84936 Peter Zijlstra 2020-01-24 1518 #ifndef arch_atomic64_inc_r= eturn 37f8173dd84936 Peter Zijlstra 2020-01-24 1519 static __always_inline s64 37f8173dd84936 Peter Zijlstra 2020-01-24 1520 arch_atomic64_inc_return(at= omic64_t *v) 37f8173dd84936 Peter Zijlstra 2020-01-24 1521 { 37f8173dd84936 Peter Zijlstra 2020-01-24 1522 s64 ret; 37f8173dd84936 Peter Zijlstra 2020-01-24 1523 __atomic_pre_full_fence(); 37f8173dd84936 Peter Zijlstra 2020-01-24 1524 ret =3D arch_atomic64_inc_= return_relaxed(v); 37f8173dd84936 Peter Zijlstra 2020-01-24 1525 __atomic_post_full_fence(); 37f8173dd84936 Peter Zijlstra 2020-01-24 1526 return ret; 37f8173dd84936 Peter Zijlstra 2020-01-24 1527 } 37f8173dd84936 Peter Zijlstra 2020-01-24 1528 #define arch_atomic64_inc_r= eturn arch_atomic64_inc_return 37f8173dd84936 Peter Zijlstra 2020-01-24 1529 #endif 37f8173dd84936 Peter Zijlstra 2020-01-24 1530 = 37f8173dd84936 Peter Zijlstra 2020-01-24 1531 #endif /* arch_atomic64_inc= _return_relaxed */ 37f8173dd84936 Peter Zijlstra 2020-01-24 1532 = 37f8173dd84936 Peter Zijlstra 2020-01-24 1533 #ifndef arch_atomic64_fetch= _inc_relaxed 37f8173dd84936 Peter Zijlstra 2020-01-24 1534 #ifdef arch_atomic64_fetch_= inc 37f8173dd84936 Peter Zijlstra 2020-01-24 1535 #define arch_atomic64_fetch= _inc_acquire arch_atomic64_fetch_inc 37f8173dd84936 Peter Zijlstra 2020-01-24 1536 #define arch_atomic64_fetch= _inc_release arch_atomic64_fetch_inc 37f8173dd84936 Peter Zijlstra 2020-01-24 1537 #define arch_atomic64_fetch= _inc_relaxed arch_atomic64_fetch_inc 37f8173dd84936 Peter Zijlstra 2020-01-24 1538 #endif /* arch_atomic64_fet= ch_inc */ 37f8173dd84936 Peter Zijlstra 2020-01-24 1539 = 37f8173dd84936 Peter Zijlstra 2020-01-24 1540 #ifndef arch_atomic64_fetch= _inc 37f8173dd84936 Peter Zijlstra 2020-01-24 1541 static __always_inline s64 37f8173dd84936 Peter Zijlstra 2020-01-24 1542 arch_atomic64_fetch_inc(ato= mic64_t *v) 37f8173dd84936 Peter Zijlstra 2020-01-24 1543 { 37f8173dd84936 Peter Zijlstra 2020-01-24 @1544 return arch_atomic64_fetch= _add(1, v); 37f8173dd84936 Peter Zijlstra 2020-01-24 1545 } 37f8173dd84936 Peter Zijlstra 2020-01-24 1546 #define arch_atomic64_fetch= _inc arch_atomic64_fetch_inc 37f8173dd84936 Peter Zijlstra 2020-01-24 1547 #endif 37f8173dd84936 Peter Zijlstra 2020-01-24 1548 = 37f8173dd84936 Peter Zijlstra 2020-01-24 1549 #ifndef arch_atomic64_fetch= _inc_acquire 37f8173dd84936 Peter Zijlstra 2020-01-24 1550 static __always_inline s64 37f8173dd84936 Peter Zijlstra 2020-01-24 1551 arch_atomic64_fetch_inc_acq= uire(atomic64_t *v) 37f8173dd84936 Peter Zijlstra 2020-01-24 1552 { 37f8173dd84936 Peter Zijlstra 2020-01-24 1553 return arch_atomic64_fetch= _add_acquire(1, v); 37f8173dd84936 Peter Zijlstra 2020-01-24 1554 } 37f8173dd84936 Peter Zijlstra 2020-01-24 1555 #define arch_atomic64_fetch= _inc_acquire arch_atomic64_fetch_inc_acquire 37f8173dd84936 Peter Zijlstra 2020-01-24 1556 #endif 37f8173dd84936 Peter Zijlstra 2020-01-24 1557 = 37f8173dd84936 Peter Zijlstra 2020-01-24 1558 #ifndef arch_atomic64_fetch= _inc_release 37f8173dd84936 Peter Zijlstra 2020-01-24 1559 static __always_inline s64 37f8173dd84936 Peter Zijlstra 2020-01-24 1560 arch_atomic64_fetch_inc_rel= ease(atomic64_t *v) 37f8173dd84936 Peter Zijlstra 2020-01-24 1561 { 37f8173dd84936 Peter Zijlstra 2020-01-24 1562 return arch_atomic64_fetch= _add_release(1, v); 37f8173dd84936 Peter Zijlstra 2020-01-24 1563 } 37f8173dd84936 Peter Zijlstra 2020-01-24 1564 #define arch_atomic64_fetch= _inc_release arch_atomic64_fetch_inc_release 37f8173dd84936 Peter Zijlstra 2020-01-24 1565 #endif 37f8173dd84936 Peter Zijlstra 2020-01-24 1566 = 37f8173dd84936 Peter Zijlstra 2020-01-24 1567 #ifndef arch_atomic64_fetch= _inc_relaxed 37f8173dd84936 Peter Zijlstra 2020-01-24 1568 static __always_inline s64 37f8173dd84936 Peter Zijlstra 2020-01-24 1569 arch_atomic64_fetch_inc_rel= axed(atomic64_t *v) 37f8173dd84936 Peter Zijlstra 2020-01-24 1570 { 37f8173dd84936 Peter Zijlstra 2020-01-24 1571 return arch_atomic64_fetch= _add_relaxed(1, v); 37f8173dd84936 Peter Zijlstra 2020-01-24 1572 } 37f8173dd84936 Peter Zijlstra 2020-01-24 1573 #define arch_atomic64_fetch= _inc_relaxed arch_atomic64_fetch_inc_relaxed 37f8173dd84936 Peter Zijlstra 2020-01-24 1574 #endif 37f8173dd84936 Peter Zijlstra 2020-01-24 1575 = 37f8173dd84936 Peter Zijlstra 2020-01-24 1576 #else /* arch_atomic64_fetc= h_inc_relaxed */ 37f8173dd84936 Peter Zijlstra 2020-01-24 1577 = 37f8173dd84936 Peter Zijlstra 2020-01-24 1578 #ifndef arch_atomic64_fetch= _inc_acquire 37f8173dd84936 Peter Zijlstra 2020-01-24 1579 static __always_inline s64 37f8173dd84936 Peter Zijlstra 2020-01-24 1580 arch_atomic64_fetch_inc_acq= uire(atomic64_t *v) 37f8173dd84936 Peter Zijlstra 2020-01-24 1581 { 37f8173dd84936 Peter Zijlstra 2020-01-24 1582 s64 ret =3D arch_atomic64_= fetch_inc_relaxed(v); 37f8173dd84936 Peter Zijlstra 2020-01-24 1583 __atomic_acquire_fence(); 37f8173dd84936 Peter Zijlstra 2020-01-24 1584 return ret; 37f8173dd84936 Peter Zijlstra 2020-01-24 1585 } 37f8173dd84936 Peter Zijlstra 2020-01-24 1586 #define arch_atomic64_fetch= _inc_acquire arch_atomic64_fetch_inc_acquire 37f8173dd84936 Peter Zijlstra 2020-01-24 1587 #endif 37f8173dd84936 Peter Zijlstra 2020-01-24 1588 = 37f8173dd84936 Peter Zijlstra 2020-01-24 1589 #ifndef arch_atomic64_fetch= _inc_release 37f8173dd84936 Peter Zijlstra 2020-01-24 1590 static __always_inline s64 37f8173dd84936 Peter Zijlstra 2020-01-24 1591 arch_atomic64_fetch_inc_rel= ease(atomic64_t *v) 37f8173dd84936 Peter Zijlstra 2020-01-24 1592 { 37f8173dd84936 Peter Zijlstra 2020-01-24 1593 __atomic_release_fence(); 37f8173dd84936 Peter Zijlstra 2020-01-24 1594 return arch_atomic64_fetch= _inc_relaxed(v); 37f8173dd84936 Peter Zijlstra 2020-01-24 1595 } 37f8173dd84936 Peter Zijlstra 2020-01-24 1596 #define arch_atomic64_fetch= _inc_release arch_atomic64_fetch_inc_release 37f8173dd84936 Peter Zijlstra 2020-01-24 1597 #endif 37f8173dd84936 Peter Zijlstra 2020-01-24 1598 = 37f8173dd84936 Peter Zijlstra 2020-01-24 1599 #ifndef arch_atomic64_fetch= _inc 37f8173dd84936 Peter Zijlstra 2020-01-24 1600 static __always_inline s64 37f8173dd84936 Peter Zijlstra 2020-01-24 1601 arch_atomic64_fetch_inc(ato= mic64_t *v) 37f8173dd84936 Peter Zijlstra 2020-01-24 1602 { 37f8173dd84936 Peter Zijlstra 2020-01-24 1603 s64 ret; 37f8173dd84936 Peter Zijlstra 2020-01-24 1604 __atomic_pre_full_fence(); 37f8173dd84936 Peter Zijlstra 2020-01-24 1605 ret =3D arch_atomic64_fetc= h_inc_relaxed(v); 37f8173dd84936 Peter Zijlstra 2020-01-24 1606 __atomic_post_full_fence(); 37f8173dd84936 Peter Zijlstra 2020-01-24 1607 return ret; 37f8173dd84936 Peter Zijlstra 2020-01-24 1608 } 37f8173dd84936 Peter Zijlstra 2020-01-24 1609 #define arch_atomic64_fetch= _inc arch_atomic64_fetch_inc 37f8173dd84936 Peter Zijlstra 2020-01-24 1610 #endif 37f8173dd84936 Peter Zijlstra 2020-01-24 1611 = 37f8173dd84936 Peter Zijlstra 2020-01-24 1612 #endif /* arch_atomic64_fet= ch_inc_relaxed */ 37f8173dd84936 Peter Zijlstra 2020-01-24 1613 = 37f8173dd84936 Peter Zijlstra 2020-01-24 1614 #ifndef arch_atomic64_dec 37f8173dd84936 Peter Zijlstra 2020-01-24 1615 static __always_inline void 37f8173dd84936 Peter Zijlstra 2020-01-24 1616 arch_atomic64_dec(atomic64_= t *v) 37f8173dd84936 Peter Zijlstra 2020-01-24 1617 { 37f8173dd84936 Peter Zijlstra 2020-01-24 @1618 arch_atomic64_sub(1, v); 37f8173dd84936 Peter Zijlstra 2020-01-24 1619 } 37f8173dd84936 Peter Zijlstra 2020-01-24 1620 #define arch_atomic64_dec a= rch_atomic64_dec 37f8173dd84936 Peter Zijlstra 2020-01-24 1621 #endif 37f8173dd84936 Peter Zijlstra 2020-01-24 1622 = 37f8173dd84936 Peter Zijlstra 2020-01-24 1623 #ifndef arch_atomic64_dec_r= eturn_relaxed 37f8173dd84936 Peter Zijlstra 2020-01-24 1624 #ifdef arch_atomic64_dec_re= turn 37f8173dd84936 Peter Zijlstra 2020-01-24 1625 #define arch_atomic64_dec_r= eturn_acquire arch_atomic64_dec_return 37f8173dd84936 Peter Zijlstra 2020-01-24 1626 #define arch_atomic64_dec_r= eturn_release arch_atomic64_dec_return 37f8173dd84936 Peter Zijlstra 2020-01-24 1627 #define arch_atomic64_dec_r= eturn_relaxed arch_atomic64_dec_return 37f8173dd84936 Peter Zijlstra 2020-01-24 1628 #endif /* arch_atomic64_dec= _return */ 37f8173dd84936 Peter Zijlstra 2020-01-24 1629 = 37f8173dd84936 Peter Zijlstra 2020-01-24 1630 #ifndef arch_atomic64_dec_r= eturn 37f8173dd84936 Peter Zijlstra 2020-01-24 1631 static __always_inline s64 37f8173dd84936 Peter Zijlstra 2020-01-24 1632 arch_atomic64_dec_return(at= omic64_t *v) 37f8173dd84936 Peter Zijlstra 2020-01-24 1633 { 37f8173dd84936 Peter Zijlstra 2020-01-24 @1634 return arch_atomic64_sub_r= eturn(1, v); 37f8173dd84936 Peter Zijlstra 2020-01-24 1635 } 37f8173dd84936 Peter Zijlstra 2020-01-24 1636 #define arch_atomic64_dec_r= eturn arch_atomic64_dec_return 37f8173dd84936 Peter Zijlstra 2020-01-24 1637 #endif 37f8173dd84936 Peter Zijlstra 2020-01-24 1638 = --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org --===============6698065532962269875== Content-Type: application/gzip MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="config.gz" 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 y1cBAA== --===============6698065532962269875==--