Hi "Ahmed,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on a9232dc5607dbada801f2fe83ea307cda762969a]
url:
https://github.com/0day-ci/linux/commits/Ahmed-S-Darwish/seqlock-Extend-s...
base: a9232dc5607dbada801f2fe83ea307cda762969a
config: sparc-allmodconfig (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
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross 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 arch/sparc/include/asm/bug.h:25,
from include/linux/bug.h:5,
from include/linux/thread_info.h:12,
from include/asm-generic/preempt.h:5,
from ./arch/sparc/include/generated/asm/preempt.h:1,
from include/linux/preempt.h:78,
from include/linux/spinlock.h:51,
from include/linux/seqlock.h:15,
from include/linux/time.h:6,
from arch/sparc/vdso/vclock_gettime.c:16:
include/linux/seqlock.h: In function 'write_seqcount_begin_nested':
> arch/sparc/include/asm/percpu_64.h:19:25: error:
'__local_per_cpu_offset' undeclared (first use in this function); did you mean
'per_cpu_offset'?
19 | #define __my_cpu_offset __local_per_cpu_offset
| ^~~~~~~~~~~~~~~~~~~~~~
include/asm-generic/bug.h:144:27: note: in definition of macro 'WARN_ON_ONCE'
144 | int __ret_warn_once = !!(condition); \
| ^~~~~~~~~
include/linux/compiler.h:380:2: note: in expansion of macro
'__compiletime_assert'
380 | __compiletime_assert(condition, msg, prefix, suffix)
| ^~~~~~~~~~~~~~~~~~~~
include/linux/compiler.h:392:2: note: in expansion of macro
'_compiletime_assert'
392 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
| ^~~~~~~~~~~~~~~~~~~
include/linux/compiler.h:405:2: note: in expansion of macro
'compiletime_assert'
405 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
| ^~~~~~~~~~~~~~~~~~
include/linux/compiler.h:405:21: note: in expansion of macro '__native_word'
405 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
| ^~~~~~~~~~~~~
include/linux/compiler.h:291:2: note: in expansion of macro
'compiletime_assert_rwonce_type'
291 | compiletime_assert_rwonce_type(x); \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/asm-generic/percpu.h:119:10: note: in expansion of macro 'READ_ONCE'
119 | __ret = READ_ONCE(*raw_cpu_ptr(&(pcp))); \
| ^~~~~~~~~
include/linux/percpu-defs.h:231:2: note: in expansion of macro 'RELOC_HIDE'
231 | RELOC_HIDE((typeof(*(__p)) __kernel __force *)(__p), (__offset))
| ^~~~~~~~~~
include/asm-generic/percpu.h:44:31: note: in expansion of macro
'SHIFT_PERCPU_PTR'
44 | #define arch_raw_cpu_ptr(ptr) SHIFT_PERCPU_PTR(ptr, __my_cpu_offset)
| ^~~~~~~~~~~~~~~~
include/asm-generic/percpu.h:44:53: note: in expansion of macro
'__my_cpu_offset'
44 | #define arch_raw_cpu_ptr(ptr) SHIFT_PERCPU_PTR(ptr, __my_cpu_offset)
| ^~~~~~~~~~~~~~~
include/linux/percpu-defs.h:242:2: note: in expansion of macro
'arch_raw_cpu_ptr'
242 | arch_raw_cpu_ptr(ptr); \
| ^~~~~~~~~~~~~~~~
include/asm-generic/percpu.h:119:21: note: in expansion of macro 'raw_cpu_ptr'
119 | __ret = READ_ONCE(*raw_cpu_ptr(&(pcp))); \
| ^~~~~~~~~~~
include/asm-generic/percpu.h:138:11: note: in expansion of macro
'__this_cpu_generic_read_nopreempt'
138 | __ret = __this_cpu_generic_read_nopreempt(pcp); \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/asm-generic/percpu.h:320:31: note: in expansion of macro
'this_cpu_generic_read'
320 | #define this_cpu_read_1(pcp) this_cpu_generic_read(pcp)
| ^~~~~~~~~~~~~~~~~~~~~
include/linux/percpu-defs.h:321:23: note: in expansion of macro
'this_cpu_read_1'
321 | case 1: pscr_ret__ = stem##1(variable); break; \
| ^~~~
include/linux/percpu-defs.h:507:29: note: in expansion of macro
'__pcpu_size_call_return'
507 | #define this_cpu_read(pcp) __pcpu_size_call_return(this_cpu_read_, pcp)
| ^~~~~~~~~~~~~~~~~~~~~~~
include/linux/lockdep.h:565:9: note: in expansion of macro 'this_cpu_read'
565 | this_cpu_read(hardirqs_enabled))); \
| ^~~~~~~~~~~~~
include/linux/seqlock.h:285:2: note: in expansion of macro
'lockdep_assert_preemption_disabled'
285 | lockdep_assert_preemption_disabled();
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/sparc/include/asm/percpu_64.h:19:25: note: each undeclared identifier is reported
only once for each function it appears in
19 | #define __my_cpu_offset __local_per_cpu_offset
| ^~~~~~~~~~~~~~~~~~~~~~
include/asm-generic/bug.h:144:27: note: in definition of macro 'WARN_ON_ONCE'
144 | int __ret_warn_once = !!(condition); \
| ^~~~~~~~~
include/linux/compiler.h:380:2: note: in expansion of macro
'__compiletime_assert'
380 | __compiletime_assert(condition, msg, prefix, suffix)
| ^~~~~~~~~~~~~~~~~~~~
include/linux/compiler.h:392:2: note: in expansion of macro
'_compiletime_assert'
392 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
| ^~~~~~~~~~~~~~~~~~~
include/linux/compiler.h:405:2: note: in expansion of macro
'compiletime_assert'
405 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
| ^~~~~~~~~~~~~~~~~~
include/linux/compiler.h:405:21: note: in expansion of macro '__native_word'
405 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
| ^~~~~~~~~~~~~
include/linux/compiler.h:291:2: note: in expansion of macro
'compiletime_assert_rwonce_type'
291 | compiletime_assert_rwonce_type(x); \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/asm-generic/percpu.h:119:10: note: in expansion of macro 'READ_ONCE'
119 | __ret = READ_ONCE(*raw_cpu_ptr(&(pcp))); \
| ^~~~~~~~~
include/linux/percpu-defs.h:231:2: note: in expansion of macro 'RELOC_HIDE'
231 | RELOC_HIDE((typeof(*(__p)) __kernel __force *)(__p), (__offset))
| ^~~~~~~~~~
include/asm-generic/percpu.h:44:31: note: in expansion of macro
'SHIFT_PERCPU_PTR'
44 | #define arch_raw_cpu_ptr(ptr) SHIFT_PERCPU_PTR(ptr, __my_cpu_offset)
| ^~~~~~~~~~~~~~~~
include/asm-generic/percpu.h:44:53: note: in expansion of macro
'__my_cpu_offset'
44 | #define arch_raw_cpu_ptr(ptr) SHIFT_PERCPU_PTR(ptr, __my_cpu_offset)
| ^~~~~~~~~~~~~~~
include/linux/percpu-defs.h:242:2: note: in expansion of macro
'arch_raw_cpu_ptr'
242 | arch_raw_cpu_ptr(ptr); \
| ^~~~~~~~~~~~~~~~
include/asm-generic/percpu.h:119:21: note: in expansion of macro 'raw_cpu_ptr'
119 | __ret = READ_ONCE(*raw_cpu_ptr(&(pcp))); \
| ^~~~~~~~~~~
include/asm-generic/percpu.h:138:11: note: in expansion of macro
'__this_cpu_generic_read_nopreempt'
138 | __ret = __this_cpu_generic_read_nopreempt(pcp); \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/asm-generic/percpu.h:320:31: note: in expansion of macro
'this_cpu_generic_read'
320 | #define this_cpu_read_1(pcp) this_cpu_generic_read(pcp)
vim +19 arch/sparc/include/asm/percpu_64.h
f5e706ad886b6a include/asm-sparc/percpu_64.h Sam Ravnborg 2008-07-17 18
f5e706ad886b6a include/asm-sparc/percpu_64.h Sam Ravnborg 2008-07-17 @19 #define
__my_cpu_offset __local_per_cpu_offset
f5e706ad886b6a include/asm-sparc/percpu_64.h Sam Ravnborg 2008-07-17 20
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org