tree:
https://github.com/c-sky/csky-linux v5.12-rc4-riscv-atomic-arch-v3
head: 516baf028b48129e1941ad764ef9a13271830bdc
commit: d985500eec5b9fa31462e5aa2b712b719d0de356 [4/5] locking/atomics: Fixup
GENERIC_ATOMIC64 conflict with atomic-arch-fallback.h
config: sparc-randconfig-r025-20210419 (attached as .config)
compiler: sparc64-linux-gcc (GCC) 9.3.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/c-sky/csky-linux/commit/d985500eec5b9fa31462e5aa2b712b...
git remote add csky-linux
https://github.com/c-sky/csky-linux
git fetch --no-tags csky-linux v5.12-rc4-riscv-atomic-arch-v3
git checkout d985500eec5b9fa31462e5aa2b712b719d0de356
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross W=1 ARCH=sparc
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
In file included from include/linux/atomic.h:84,
from include/asm-generic/bitops/lock.h:5,
from arch/sparc/include/asm/bitops_32.h:102,
from arch/sparc/include/asm/bitops.h:7,
from include/linux/bitops.h:32,
from include/linux/kernel.h:11,
from arch/sparc/vdso/vdso32/../vclock_gettime.c:15,
from arch/sparc/vdso/vdso32/vclock_gettime.c:22:
> include/linux/atomic-fallback.h:1434:1: error: static declaration
of 'atomic64_add_return' follows non-static declaration
1434 |
atomic64_add_return(s64 i, atomic64_t *v)
| ^~~~~~~~~~~~~~~~~~~
In file included from arch/sparc/include/asm/atomic_32.h:19,
from arch/sparc/include/asm/atomic.h:7,
from include/linux/atomic.h:7,
from include/asm-generic/bitops/lock.h:5,
from arch/sparc/include/asm/bitops_32.h:102,
from arch/sparc/include/asm/bitops.h:7,
from include/linux/bitops.h:32,
from include/linux/kernel.h:11,
from arch/sparc/vdso/vdso32/../vclock_gettime.c:15,
from arch/sparc/vdso/vdso32/vclock_gettime.c:22:
include/asm-generic/atomic64.h:27:12: note: previous declaration of
'atomic64_add_return' was here
27 | extern s64 atomic64_##op##_return(s64 a, atomic64_t *v);
| ^~~~~~~~~
include/asm-generic/atomic64.h:32:42: note: in expansion of macro
'ATOMIC64_OP_RETURN'
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
'ATOMIC64_OPS'
34 | ATOMIC64_OPS(add)
| ^~~~~~~~~~~~
In file included from include/linux/atomic.h:84,
from include/asm-generic/bitops/lock.h:5,
from arch/sparc/include/asm/bitops_32.h:102,
from arch/sparc/include/asm/bitops.h:7,
from include/linux/bitops.h:32,
from include/linux/kernel.h:11,
from arch/sparc/vdso/vdso32/../vclock_gettime.c:15,
from arch/sparc/vdso/vdso32/vclock_gettime.c:22:
> include/linux/atomic-fallback.h:1481:1: error: static declaration
of 'atomic64_fetch_add' follows non-static declaration
1481 |
atomic64_fetch_add(s64 i, atomic64_t *v)
| ^~~~~~~~~~~~~~~~~~
In file included from arch/sparc/include/asm/atomic_32.h:19,
from arch/sparc/include/asm/atomic.h:7,
from include/linux/atomic.h:7,
from include/asm-generic/bitops/lock.h:5,
from arch/sparc/include/asm/bitops_32.h:102,
from arch/sparc/include/asm/bitops.h:7,
from include/linux/bitops.h:32,
from include/linux/kernel.h:11,
from arch/sparc/vdso/vdso32/../vclock_gettime.c:15,
from arch/sparc/vdso/vdso32/vclock_gettime.c:22:
include/asm-generic/atomic64.h:30:12: note: previous declaration of
'atomic64_fetch_add' was here
30 | extern s64 atomic64_fetch_##op(s64 a, atomic64_t *v);
| ^~~~~~~~~~~~~~~
include/asm-generic/atomic64.h:32:65: note: in expansion of macro
'ATOMIC64_FETCH_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
'ATOMIC64_OPS'
34 | ATOMIC64_OPS(add)
| ^~~~~~~~~~~~
In file included from include/linux/atomic.h:84,
from include/asm-generic/bitops/lock.h:5,
from arch/sparc/include/asm/bitops_32.h:102,
from arch/sparc/include/asm/bitops.h:7,
from include/linux/bitops.h:32,
from include/linux/kernel.h:11,
from arch/sparc/vdso/vdso32/../vclock_gettime.c:15,
from arch/sparc/vdso/vdso32/vclock_gettime.c:22:
include/linux/atomic-fallback.h:1594:1: error: redefinition of 'atomic64_inc'
1594 | atomic64_inc(atomic64_t *v)
| ^~~~~~~~~~~~
In file included from arch/sparc/include/asm/atomic_32.h:19,
from arch/sparc/include/asm/atomic.h:7,
from include/linux/atomic.h:7,
from include/asm-generic/bitops/lock.h:5,
from arch/sparc/include/asm/bitops_32.h:102,
from arch/sparc/include/asm/bitops.h:7,
from include/linux/bitops.h:32,
from include/linux/kernel.h:11,
from arch/sparc/vdso/vdso32/../vclock_gettime.c:15,
from arch/sparc/vdso/vdso32/vclock_gettime.c:22:
include/asm-generic/atomic64.h:75:1: note: previous definition of
'atomic64_inc' was here
75 | atomic64_inc(atomic64_t *v)
| ^~~~~~~~~~~~
In file included from include/linux/atomic.h:84,
from include/asm-generic/bitops/lock.h:5,
from arch/sparc/include/asm/bitops_32.h:102,
from arch/sparc/include/asm/bitops.h:7,
from include/linux/bitops.h:32,
from include/linux/kernel.h:11,
from arch/sparc/vdso/vdso32/../vclock_gettime.c:15,
from arch/sparc/vdso/vdso32/vclock_gettime.c:22:
include/linux/atomic-fallback.h:1615:1: error: redefinition of
'atomic64_inc_return'
1615 | atomic64_inc_return(atomic64_t *v)
| ^~~~~~~~~~~~~~~~~~~
In file included from arch/sparc/include/asm/atomic_32.h:19,
from arch/sparc/include/asm/atomic.h:7,
from include/linux/atomic.h:7,
from include/asm-generic/bitops/lock.h:5,
from arch/sparc/include/asm/bitops_32.h:102,
from arch/sparc/include/asm/bitops.h:7,
from include/linux/bitops.h:32,
from include/linux/kernel.h:11,
from arch/sparc/vdso/vdso32/../vclock_gettime.c:15,
from arch/sparc/vdso/vdso32/vclock_gettime.c:22:
include/asm-generic/atomic64.h:81:1: note: previous definition of
'atomic64_inc_return' was here
81 | atomic64_inc_return(atomic64_t *v)
| ^~~~~~~~~~~~~~~~~~~
In file included from include/linux/atomic.h:84,
from include/asm-generic/bitops/lock.h:5,
from arch/sparc/include/asm/bitops_32.h:102,
from arch/sparc/include/asm/bitops.h:7,
from include/linux/bitops.h:32,
from include/linux/kernel.h:11,
from arch/sparc/vdso/vdso32/../vclock_gettime.c:15,
from arch/sparc/vdso/vdso32/vclock_gettime.c:22:
include/linux/atomic-fallback.h:1701:1: error: redefinition of
'atomic64_fetch_inc'
1701 | atomic64_fetch_inc(atomic64_t *v)
| ^~~~~~~~~~~~~~~~~~
In file included from arch/sparc/include/asm/atomic_32.h:19,
from arch/sparc/include/asm/atomic.h:7,
from include/linux/atomic.h:7,
from include/asm-generic/bitops/lock.h:5,
from arch/sparc/include/asm/bitops_32.h:102,
from arch/sparc/include/asm/bitops.h:7,
from include/linux/bitops.h:32,
from include/linux/kernel.h:11,
from arch/sparc/vdso/vdso32/../vclock_gettime.c:15,
from arch/sparc/vdso/vdso32/vclock_gettime.c:22:
include/asm-generic/atomic64.h:87:1: note: previous definition of
'atomic64_fetch_inc' was here
87 | atomic64_fetch_inc(atomic64_t *v)
| ^~~~~~~~~~~~~~~~~~
In file included from include/linux/atomic.h:84,
from include/asm-generic/bitops/lock.h:5,
from arch/sparc/include/asm/bitops_32.h:102,
from arch/sparc/include/asm/bitops.h:7,
from include/linux/bitops.h:32,
from include/linux/kernel.h:11,
from arch/sparc/vdso/vdso32/../vclock_gettime.c:15,
from arch/sparc/vdso/vdso32/vclock_gettime.c:22:
include/linux/atomic-fallback.h:1777:1: error: redefinition of 'atomic64_dec'
1777 | atomic64_dec(atomic64_t *v)
| ^~~~~~~~~~~~
In file included from arch/sparc/include/asm/atomic_32.h:19,
from arch/sparc/include/asm/atomic.h:7,
from include/linux/atomic.h:7,
from include/asm-generic/bitops/lock.h:5,
from arch/sparc/include/asm/bitops_32.h:102,
from arch/sparc/include/asm/bitops.h:7,
from include/linux/bitops.h:32,
from include/linux/kernel.h:11,
from arch/sparc/vdso/vdso32/../vclock_gettime.c:15,
from arch/sparc/vdso/vdso32/vclock_gettime.c:22:
include/asm-generic/atomic64.h:93:1: note: previous definition of
'atomic64_dec' was here
93 | atomic64_dec(atomic64_t *v)
| ^~~~~~~~~~~~
In file included from include/linux/atomic.h:84,
from include/asm-generic/bitops/lock.h:5,
from arch/sparc/include/asm/bitops_32.h:102,
from arch/sparc/include/asm/bitops.h:7,
from include/linux/bitops.h:32,
from include/linux/kernel.h:11,
from arch/sparc/vdso/vdso32/../vclock_gettime.c:15,
from arch/sparc/vdso/vdso32/vclock_gettime.c:22:
include/linux/atomic-fallback.h:1798:1: error: redefinition of
'atomic64_dec_return'
1798 | atomic64_dec_return(atomic64_t *v)
| ^~~~~~~~~~~~~~~~~~~
In file included from arch/sparc/include/asm/atomic_32.h:19,
from arch/sparc/include/asm/atomic.h:7,
from include/linux/atomic.h:7,
from include/asm-generic/bitops/lock.h:5,
from arch/sparc/include/asm/bitops_32.h:102,
from arch/sparc/include/asm/bitops.h:7,
from include/linux/bitops.h:32,
from include/linux/kernel.h:11,
from arch/sparc/vdso/vdso32/../vclock_gettime.c:15,
from arch/sparc/vdso/vdso32/vclock_gettime.c:22:
include/asm-generic/atomic64.h:99:1: note: previous definition of
'atomic64_dec_return' was here
99 | atomic64_dec_return(atomic64_t *v)
| ^~~~~~~~~~~~~~~~~~~
In file included from include/linux/atomic.h:84,
from include/asm-generic/bitops/lock.h:5,
from arch/sparc/include/asm/bitops_32.h:102,
from arch/sparc/include/asm/bitops.h:7,
from include/linux/bitops.h:32,
from include/linux/kernel.h:11,
from arch/sparc/vdso/vdso32/../vclock_gettime.c:15,
from arch/sparc/vdso/vdso32/vclock_gettime.c:22:
include/linux/atomic-fallback.h:1884:1: error: redefinition of
'atomic64_fetch_dec'
1884 | atomic64_fetch_dec(atomic64_t *v)
| ^~~~~~~~~~~~~~~~~~
In file included from arch/sparc/include/asm/atomic_32.h:19,
from arch/sparc/include/asm/atomic.h:7,
from include/linux/atomic.h:7,
from include/asm-generic/bitops/lock.h:5,
from arch/sparc/include/asm/bitops_32.h:102,
from arch/sparc/include/asm/bitops.h:7,
from include/linux/bitops.h:32,
from include/linux/kernel.h:11,
from arch/sparc/vdso/vdso32/../vclock_gettime.c:15,
from arch/sparc/vdso/vdso32/vclock_gettime.c:22:
include/asm-generic/atomic64.h:105:1: note: previous definition of
'atomic64_fetch_dec' was here
105 | atomic64_fetch_dec(atomic64_t *v)
| ^~~~~~~~~~~~~~~~~~
In file included from include/linux/atomic.h:84,
from include/asm-generic/bitops/lock.h:5,
from arch/sparc/include/asm/bitops_32.h:102,
from arch/sparc/include/asm/bitops.h:7,
from include/linux/bitops.h:32,
from include/linux/kernel.h:11,
from arch/sparc/vdso/vdso32/../vclock_gettime.c:15,
from arch/sparc/vdso/vdso32/vclock_gettime.c:22:
> include/linux/atomic-fallback.h:2009:1: error: redefinition of
'atomic64_andnot'
2009 | atomic64_andnot(s64 i, atomic64_t *v)
| ^~~~~~~~~~~~~~~
In file included from arch/sparc/include/asm/atomic_32.h:19,
from arch/sparc/include/asm/atomic.h:7,
from include/linux/atomic.h:7,
from include/asm-generic/bitops/lock.h:5,
from arch/sparc/include/asm/bitops_32.h:102,
from arch/sparc/include/asm/bitops.h:7,
from include/linux/bitops.h:32,
from include/linux/kernel.h:11,
from arch/sparc/vdso/vdso32/../vclock_gettime.c:15,
from arch/sparc/vdso/vdso32/vclock_gettime.c:22:
include/asm-generic/atomic64.h:111:1: note: previous definition of
'atomic64_andnot' was here
111 | atomic64_andnot(s64 i, atomic64_t *v)
| ^~~~~~~~~~~~~~~
In file included from include/linux/atomic.h:84,
from include/asm-generic/bitops/lock.h:5,
from arch/sparc/include/asm/bitops_32.h:102,
from arch/sparc/include/asm/bitops.h:7,
from include/linux/bitops.h:32,
from include/linux/kernel.h:11,
from arch/sparc/vdso/vdso32/../vclock_gettime.c:15,
from arch/sparc/vdso/vdso32/vclock_gettime.c:22:
> include/linux/atomic-fallback.h:2030:1: error: redefinition of
'atomic64_fetch_andnot'
2030 | atomic64_fetch_andnot(s64 i, atomic64_t
*v)
| ^~~~~~~~~~~~~~~~~~~~~
In file included from arch/sparc/include/asm/atomic_32.h:19,
from arch/sparc/include/asm/atomic.h:7,
from include/linux/atomic.h:7,
from include/asm-generic/bitops/lock.h:5,
from arch/sparc/include/asm/bitops_32.h:102,
from arch/sparc/include/asm/bitops.h:7,
from include/linux/bitops.h:32,
from include/linux/kernel.h:11,
from arch/sparc/vdso/vdso32/../vclock_gettime.c:15,
from arch/sparc/vdso/vdso32/vclock_gettime.c:22:
include/asm-generic/atomic64.h:117:1: note: previous definition of
'atomic64_fetch_andnot' was here
117 | atomic64_fetch_andnot(s64 i, atomic64_t *v)
| ^~~~~~~~~~~~~~~~~~~~~
In file included from include/linux/atomic.h:84,
from include/asm-generic/bitops/lock.h:5,
from arch/sparc/include/asm/bitops_32.h:102,
from arch/sparc/include/asm/bitops.h:7,
from include/linux/bitops.h:32,
from include/linux/kernel.h:11,
from arch/sparc/vdso/vdso32/../vclock_gettime.c:15,
from arch/sparc/vdso/vdso32/vclock_gettime.c:22:
> include/linux/atomic-fallback.h:2234:1: error: static declaration
of 'atomic64_xchg' follows non-static declaration
2234 |
atomic64_xchg(atomic64_t *v, s64 i)
| ^~~~~~~~~~~~~
In file included from arch/sparc/include/asm/atomic_32.h:19,
from arch/sparc/include/asm/atomic.h:7,
from include/linux/atomic.h:7,
from include/asm-generic/bitops/lock.h:5,
from arch/sparc/include/asm/bitops_32.h:102,
from arch/sparc/include/asm/bitops.h:7,
from include/linux/bitops.h:32,
from include/linux/kernel.h:11,
from arch/sparc/vdso/vdso32/../vclock_gettime.c:15,
from arch/sparc/vdso/vdso32/vclock_gettime.c:22:
include/asm-generic/atomic64.h:67:12: note: previous declaration of
'atomic64_xchg' was here
67 | extern s64 atomic64_xchg(atomic64_t *v, s64 new);
| ^~~~~~~~~~~~~
In file included from include/linux/atomic.h:84,
from include/asm-generic/bitops/lock.h:5,
from arch/sparc/include/asm/bitops_32.h:102,
from arch/sparc/include/asm/bitops.h:7,
from include/linux/bitops.h:32,
from include/linux/kernel.h:11,
from arch/sparc/vdso/vdso32/../vclock_gettime.c:15,
from arch/sparc/vdso/vdso32/vclock_gettime.c:22:
include/linux/atomic-fallback.h:2281:1: error: static declaration of
'atomic64_cmpxchg' follows non-static declaration
2281 | atomic64_cmpxchg(atomic64_t *v, s64 old, s64 new)
| ^~~~~~~~~~~~~~~~
In file included from arch/sparc/include/asm/atomic_32.h:19,
from arch/sparc/include/asm/atomic.h:7,
from include/linux/atomic.h:7,
from include/asm-generic/bitops/lock.h:5,
from arch/sparc/include/asm/bitops_32.h:102,
from arch/sparc/include/asm/bitops.h:7,
from include/linux/bitops.h:32,
from include/linux/kernel.h:11,
from arch/sparc/vdso/vdso32/../vclock_gettime.c:15,
from arch/sparc/vdso/vdso32/vclock_gettime.c:22:
include/asm-generic/atomic64.h:63:12: note: previous declaration of
'atomic64_cmpxchg' was here
63 | extern s64 atomic64_cmpxchg(atomic64_t *v, s64 o, s64 n);
| ^~~~~~~~~~~~~~~~
In file included from include/linux/atomic.h:84,
from include/asm-generic/bitops/lock.h:5,
from arch/sparc/include/asm/bitops_32.h:102,
from arch/sparc/include/asm/bitops.h:7,
from include/linux/bitops.h:32,
from include/linux/kernel.h:11,
from arch/sparc/vdso/vdso32/../vclock_gettime.c:15,
from arch/sparc/vdso/vdso32/vclock_gettime.c:22:
include/linux/atomic-fallback.h:2409:1: error: conflicting types for
'atomic64_sub_and_test'
2409 | atomic64_sub_and_test(s64 i, atomic64_t *v)
| ^~~~~~~~~~~~~~~~~~~~~
In file included from arch/sparc/include/asm/atomic_32.h:19,
from arch/sparc/include/asm/atomic.h:7,
from include/linux/atomic.h:7,
from include/asm-generic/bitops/lock.h:5,
from arch/sparc/include/asm/bitops_32.h:102,
from arch/sparc/include/asm/bitops.h:7,
from include/linux/bitops.h:32,
from include/linux/kernel.h:11,
from arch/sparc/vdso/vdso32/../vclock_gettime.c:15,
from arch/sparc/vdso/vdso32/vclock_gettime.c:22:
include/asm-generic/atomic64.h:123:1: note: previous definition of
'atomic64_sub_and_test' was here
123 | atomic64_sub_and_test(int i, atomic64_t *v)
| ^~~~~~~~~~~~~~~~~~~~~
In file included from include/linux/atomic.h:84,
from include/asm-generic/bitops/lock.h:5,
from arch/sparc/include/asm/bitops_32.h:102,
from arch/sparc/include/asm/bitops.h:7,
from include/linux/bitops.h:32,
from include/linux/kernel.h:11,
from arch/sparc/vdso/vdso32/../vclock_gettime.c:15,
from arch/sparc/vdso/vdso32/vclock_gettime.c:22:
include/linux/atomic-fallback.h:2428:1: error: redefinition of
'atomic64_dec_and_test'
2428 | atomic64_dec_and_test(atomic64_t *v)
| ^~~~~~~~~~~~~~~~~~~~~
In file included from arch/sparc/include/asm/atomic_32.h:19,
from arch/sparc/include/asm/atomic.h:7,
from include/linux/atomic.h:7,
from include/asm-generic/bitops/lock.h:5,
from arch/sparc/include/asm/bitops_32.h:102,
from arch/sparc/include/asm/bitops.h:7,
from include/linux/bitops.h:32,
from include/linux/kernel.h:11,
from arch/sparc/vdso/vdso32/../vclock_gettime.c:15,
from arch/sparc/vdso/vdso32/vclock_gettime.c:22:
include/asm-generic/atomic64.h:129:1: note: previous definition of
'atomic64_dec_and_test' was here
129 | atomic64_dec_and_test(atomic64_t *v)
| ^~~~~~~~~~~~~~~~~~~~~
In file included from include/linux/atomic.h:84,
from include/asm-generic/bitops/lock.h:5,
from arch/sparc/include/asm/bitops_32.h:102,
from arch/sparc/include/asm/bitops.h:7,
from include/linux/bitops.h:32,
from include/linux/kernel.h:11,
from arch/sparc/vdso/vdso32/../vclock_gettime.c:15,
from arch/sparc/vdso/vdso32/vclock_gettime.c:22:
include/linux/atomic-fallback.h:2447:1: error: redefinition of
'atomic64_inc_and_test'
2447 | atomic64_inc_and_test(atomic64_t *v)
| ^~~~~~~~~~~~~~~~~~~~~
In file included from arch/sparc/include/asm/atomic_32.h:19,
from arch/sparc/include/asm/atomic.h:7,
Kconfig warnings: (for reference only)
WARNING: unmet direct dependencies detected for FRAME_POINTER
Depends on DEBUG_KERNEL && (M68K || UML || SUPERH) || ARCH_WANT_FRAME_POINTERS
|| MCOUNT
Selected by
- LOCKDEP && DEBUG_KERNEL && LOCK_DEBUGGING_SUPPORT && !MIPS
&& !PPC && !ARM && !S390 && !MICROBLAZE && !ARC
&& !X86
vim +/atomic64_add_return +1434 include/linux/atomic-fallback.h
9fa45070a2e59a Mark Rutland 2018-09-04 1431
9fa45070a2e59a Mark Rutland 2018-09-04 1432 #ifndef atomic64_add_return
765dcd209947e7 Marco Elver 2019-11-26 1433 static __always_inline s64
9fa45070a2e59a Mark Rutland 2018-09-04 @1434 atomic64_add_return(s64 i, atomic64_t *v)
9fa45070a2e59a Mark Rutland 2018-09-04 1435 {
9fa45070a2e59a Mark Rutland 2018-09-04 1436 s64 ret;
9fa45070a2e59a Mark Rutland 2018-09-04 1437 __atomic_pre_full_fence();
9fa45070a2e59a Mark Rutland 2018-09-04 1438 ret = atomic64_add_return_relaxed(i, v);
9fa45070a2e59a Mark Rutland 2018-09-04 1439 __atomic_post_full_fence();
9fa45070a2e59a Mark Rutland 2018-09-04 1440 return ret;
9fa45070a2e59a Mark Rutland 2018-09-04 1441 }
9fa45070a2e59a Mark Rutland 2018-09-04 1442 #define atomic64_add_return
atomic64_add_return
9fa45070a2e59a Mark Rutland 2018-09-04 1443 #endif
9fa45070a2e59a Mark Rutland 2018-09-04 1444
9fa45070a2e59a Mark Rutland 2018-09-04 1445 #endif /* atomic64_add_return_relaxed */
9fa45070a2e59a Mark Rutland 2018-09-04 1446
5faafd5685764e Peter Zijlstra 2020-06-25 1447 #define arch_atomic64_fetch_add
atomic64_fetch_add
5faafd5685764e Peter Zijlstra 2020-06-25 1448 #define arch_atomic64_fetch_add_acquire
atomic64_fetch_add_acquire
5faafd5685764e Peter Zijlstra 2020-06-25 1449 #define arch_atomic64_fetch_add_release
atomic64_fetch_add_release
5faafd5685764e Peter Zijlstra 2020-06-25 1450 #define arch_atomic64_fetch_add_relaxed
atomic64_fetch_add_relaxed
5faafd5685764e Peter Zijlstra 2020-06-25 1451
9fa45070a2e59a Mark Rutland 2018-09-04 1452 #ifndef atomic64_fetch_add_relaxed
9fa45070a2e59a Mark Rutland 2018-09-04 1453 #define atomic64_fetch_add_acquire
atomic64_fetch_add
9fa45070a2e59a Mark Rutland 2018-09-04 1454 #define atomic64_fetch_add_release
atomic64_fetch_add
9fa45070a2e59a Mark Rutland 2018-09-04 1455 #define atomic64_fetch_add_relaxed
atomic64_fetch_add
9fa45070a2e59a Mark Rutland 2018-09-04 1456 #else /* atomic64_fetch_add_relaxed */
9fa45070a2e59a Mark Rutland 2018-09-04 1457
9fa45070a2e59a Mark Rutland 2018-09-04 1458 #ifndef atomic64_fetch_add_acquire
765dcd209947e7 Marco Elver 2019-11-26 1459 static __always_inline s64
9fa45070a2e59a Mark Rutland 2018-09-04 1460 atomic64_fetch_add_acquire(s64 i,
atomic64_t *v)
9fa45070a2e59a Mark Rutland 2018-09-04 1461 {
9fa45070a2e59a Mark Rutland 2018-09-04 1462 s64 ret = atomic64_fetch_add_relaxed(i,
v);
9fa45070a2e59a Mark Rutland 2018-09-04 1463 __atomic_acquire_fence();
9fa45070a2e59a Mark Rutland 2018-09-04 1464 return ret;
9fa45070a2e59a Mark Rutland 2018-09-04 1465 }
9fa45070a2e59a Mark Rutland 2018-09-04 1466 #define atomic64_fetch_add_acquire
atomic64_fetch_add_acquire
9fa45070a2e59a Mark Rutland 2018-09-04 1467 #endif
9fa45070a2e59a Mark Rutland 2018-09-04 1468
9fa45070a2e59a Mark Rutland 2018-09-04 1469 #ifndef atomic64_fetch_add_release
765dcd209947e7 Marco Elver 2019-11-26 1470 static __always_inline s64
9fa45070a2e59a Mark Rutland 2018-09-04 1471 atomic64_fetch_add_release(s64 i,
atomic64_t *v)
9fa45070a2e59a Mark Rutland 2018-09-04 1472 {
9fa45070a2e59a Mark Rutland 2018-09-04 1473 __atomic_release_fence();
9fa45070a2e59a Mark Rutland 2018-09-04 1474 return atomic64_fetch_add_relaxed(i, v);
9fa45070a2e59a Mark Rutland 2018-09-04 1475 }
9fa45070a2e59a Mark Rutland 2018-09-04 1476 #define atomic64_fetch_add_release
atomic64_fetch_add_release
9fa45070a2e59a Mark Rutland 2018-09-04 1477 #endif
9fa45070a2e59a Mark Rutland 2018-09-04 1478
9fa45070a2e59a Mark Rutland 2018-09-04 1479 #ifndef atomic64_fetch_add
765dcd209947e7 Marco Elver 2019-11-26 1480 static __always_inline s64
9fa45070a2e59a Mark Rutland 2018-09-04 @1481 atomic64_fetch_add(s64 i, atomic64_t *v)
9fa45070a2e59a Mark Rutland 2018-09-04 1482 {
9fa45070a2e59a Mark Rutland 2018-09-04 1483 s64 ret;
9fa45070a2e59a Mark Rutland 2018-09-04 1484 __atomic_pre_full_fence();
9fa45070a2e59a Mark Rutland 2018-09-04 1485 ret = atomic64_fetch_add_relaxed(i, v);
9fa45070a2e59a Mark Rutland 2018-09-04 1486 __atomic_post_full_fence();
9fa45070a2e59a Mark Rutland 2018-09-04 1487 return ret;
9fa45070a2e59a Mark Rutland 2018-09-04 1488 }
9fa45070a2e59a Mark Rutland 2018-09-04 1489 #define atomic64_fetch_add
atomic64_fetch_add
9fa45070a2e59a Mark Rutland 2018-09-04 1490 #endif
9fa45070a2e59a Mark Rutland 2018-09-04 1491
:::::: The code at line 1434 was first introduced by commit
:::::: 9fa45070a2e59a871e1cd3370173369f3a4f61e2 locking/atomics: Switch to generated
fallbacks
:::::: TO: Mark Rutland <mark.rutland(a)arm.com>
:::::: CC: Ingo Molnar <mingo(a)kernel.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org