Re: [PATCH v8 05/25] dept: Tie to Lockdep and IRQ tracing

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Byungchul,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on tip/locking/core]
[also build test ERROR on tip/sched/core drm-misc/drm-misc-next linus/master v6.2-rc5 next-20230127]
[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#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Byungchul-Park/llist-Move-llist_-head-node-definition-to-types-h/20230128-102456
patch link:    https://lore.kernel.org/r/1674782358-25542-6-git-send-email-max.byungchul.park%40gmail.com
patch subject: [PATCH v8 05/25] dept: Tie to Lockdep and IRQ tracing
config: parisc-allyesconfig (https://download.01.org/0day-ci/archive/20230128/202301281551.sSDuxg0O-lkp@xxxxxxxxx/config)
compiler: hppa-linux-gcc (GCC) 12.1.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/intel-lab-lkp/linux/commit/aed5169e3b6767146ee602447fcf75b4c734d2db
        git remote add linux-review https://github.com/intel-lab-lkp/linux
        git fetch --no-tags linux-review Byungchul-Park/llist-Move-llist_-head-node-definition-to-types-h/20230128-102456
        git checkout aed5169e3b6767146ee602447fcf75b4c734d2db
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=parisc olddefconfig
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=parisc prepare

If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@xxxxxxxxx>

All error/warnings (new ones prefixed by >>):

   In file included from include/linux/bitops.h:68,
                    from include/linux/kernel.h:22,
                    from include/linux/irqflags.h:16,
                    from include/asm-generic/cmpxchg-local.h:6,
                    from arch/parisc/include/asm/cmpxchg.h:89,
                    from arch/parisc/include/asm/atomic.h:10,
                    from include/linux/atomic.h:7,
                    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/parisc/kernel/asm-offsets.c:18:
   arch/parisc/include/asm/bitops.h: In function 'set_bit':
>> arch/parisc/include/asm/bitops.h:27:9: error: implicit declaration of function '_atomic_spin_lock_irqsave'; did you mean '__atomic_is_lock_free'? [-Werror=implicit-function-declaration]
      27 |         _atomic_spin_lock_irqsave(addr, flags);
         |         ^~~~~~~~~~~~~~~~~~~~~~~~~
         |         __atomic_is_lock_free
>> arch/parisc/include/asm/bitops.h:29:9: error: implicit declaration of function '_atomic_spin_unlock_irqrestore' [-Werror=implicit-function-declaration]
      29 |         _atomic_spin_unlock_irqrestore(addr, flags);
         |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   In file included from arch/parisc/include/asm/bitops.h:204:
   include/asm-generic/bitops/lock.h: In function 'arch_test_and_set_bit_lock':
>> include/asm-generic/bitops/lock.h:28:15: error: implicit declaration of function 'arch_atomic_long_fetch_or_acquire' [-Werror=implicit-function-declaration]
      28 |         old = arch_atomic_long_fetch_or_acquire(mask, (atomic_long_t *)p);
         |               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> include/asm-generic/bitops/lock.h:28:56: error: 'atomic_long_t' undeclared (first use in this function); did you mean 'atomic_t'?
      28 |         old = arch_atomic_long_fetch_or_acquire(mask, (atomic_long_t *)p);
         |                                                        ^~~~~~~~~~~~~
         |                                                        atomic_t
   include/asm-generic/bitops/lock.h:28:56: note: each undeclared identifier is reported only once for each function it appears in
>> include/asm-generic/bitops/lock.h:28:71: error: expected expression before ')' token
      28 |         old = arch_atomic_long_fetch_or_acquire(mask, (atomic_long_t *)p);
         |                                                                       ^
   include/asm-generic/bitops/lock.h: In function 'arch_clear_bit_unlock':
>> include/asm-generic/bitops/lock.h:44:9: error: implicit declaration of function 'arch_atomic_long_fetch_andnot_release' [-Werror=implicit-function-declaration]
      44 |         arch_atomic_long_fetch_andnot_release(BIT_MASK(nr), (atomic_long_t *)p);
         |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/asm-generic/bitops/lock.h:44:62: error: 'atomic_long_t' undeclared (first use in this function); did you mean 'atomic_t'?
      44 |         arch_atomic_long_fetch_andnot_release(BIT_MASK(nr), (atomic_long_t *)p);
         |                                                              ^~~~~~~~~~~~~
         |                                                              atomic_t
   include/asm-generic/bitops/lock.h:44:77: error: expected expression before ')' token
      44 |         arch_atomic_long_fetch_andnot_release(BIT_MASK(nr), (atomic_long_t *)p);
         |                                                                             ^
   include/asm-generic/bitops/lock.h: In function 'arch___clear_bit_unlock':
>> include/asm-generic/bitops/lock.h:66:9: error: implicit declaration of function 'arch_atomic_long_set_release' [-Werror=implicit-function-declaration]
      66 |         arch_atomic_long_set_release((atomic_long_t *)p, old);
         |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/asm-generic/bitops/lock.h:66:39: error: 'atomic_long_t' undeclared (first use in this function); did you mean 'atomic_t'?
      66 |         arch_atomic_long_set_release((atomic_long_t *)p, old);
         |                                       ^~~~~~~~~~~~~
         |                                       atomic_t
   include/asm-generic/bitops/lock.h:66:54: error: expected expression before ')' token
      66 |         arch_atomic_long_set_release((atomic_long_t *)p, old);
         |                                                      ^
   include/asm-generic/bitops/lock.h: In function 'arch_clear_bit_unlock_is_negative_byte':
   include/asm-generic/bitops/lock.h:86:60: error: 'atomic_long_t' undeclared (first use in this function); did you mean 'atomic_t'?
      86 |         old = arch_atomic_long_fetch_andnot_release(mask, (atomic_long_t *)p);
         |                                                            ^~~~~~~~~~~~~
         |                                                            atomic_t
   include/asm-generic/bitops/lock.h:86:75: error: expected expression before ')' token
      86 |         old = arch_atomic_long_fetch_andnot_release(mask, (atomic_long_t *)p);
         |                                                                           ^
   In file included from include/linux/atomic.h:81:
   include/linux/atomic/atomic-long.h: At top level:
>> include/linux/atomic/atomic-long.h:539:1: warning: conflicting types for 'arch_atomic_long_set_release'; have 'void(atomic_long_t *, long int)' {aka 'void(atomic_t *, long int)'}
     539 | arch_atomic_long_set_release(atomic_long_t *v, long i)
         | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> include/linux/atomic/atomic-long.h:539:1: error: static declaration of 'arch_atomic_long_set_release' follows non-static declaration
   include/asm-generic/bitops/lock.h:66:9: note: previous implicit declaration of 'arch_atomic_long_set_release' with type 'void(atomic_long_t *, long int)' {aka 'void(atomic_t *, long int)'}
      66 |         arch_atomic_long_set_release((atomic_long_t *)p, old);
         |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> include/linux/atomic/atomic-long.h:809:1: error: conflicting types for 'arch_atomic_long_fetch_andnot_release'; have 'long int(long int,  atomic_long_t *)' {aka 'long int(long int,  atomic_t *)'}
     809 | arch_atomic_long_fetch_andnot_release(long i, atomic_long_t *v)
         | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/asm-generic/bitops/lock.h:44:9: note: previous implicit declaration of 'arch_atomic_long_fetch_andnot_release' with type 'int()'
      44 |         arch_atomic_long_fetch_andnot_release(BIT_MASK(nr), (atomic_long_t *)p);
         |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> include/linux/atomic/atomic-long.h:833:1: error: conflicting types for 'arch_atomic_long_fetch_or_acquire'; have 'long int(long int,  atomic_long_t *)' {aka 'long int(long int,  atomic_t *)'}
     833 | arch_atomic_long_fetch_or_acquire(long i, atomic_long_t *v)
         | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/asm-generic/bitops/lock.h:28:15: note: previous implicit declaration of 'arch_atomic_long_fetch_or_acquire' with type 'int()'
      28 |         old = arch_atomic_long_fetch_or_acquire(mask, (atomic_long_t *)p);
         |               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   cc1: some warnings being treated as errors
   make[2]: *** [scripts/Makefile.build:114: arch/parisc/kernel/asm-offsets.s] Error 1
   make[2]: Target 'prepare' not remade because of errors.
   make[1]: *** [Makefile:1298: prepare0] Error 2
   make[1]: Target 'prepare' not remade because of errors.
   make: *** [Makefile:242: __sub-make] Error 2
   make: Target 'prepare' not remade because of errors.


vim +27 arch/parisc/include/asm/bitops.h

^1da177e4c3f41 include/asm-parisc/bitops.h      Linus Torvalds 2005-04-16  14  
a366064c3ff46c include/asm-parisc/bitops.h      Grant Grundler 2005-10-21  15  /* See http://marc.theaimsgroup.com/?t=108826637900003 for discussion
a366064c3ff46c include/asm-parisc/bitops.h      Grant Grundler 2005-10-21  16   * on use of volatile and __*_bit() (set/clear/change):
a366064c3ff46c include/asm-parisc/bitops.h      Grant Grundler 2005-10-21  17   *	*_bit() want use of volatile.
a366064c3ff46c include/asm-parisc/bitops.h      Grant Grundler 2005-10-21  18   *	__*_bit() are "relaxed" and don't use spinlock or volatile.
a366064c3ff46c include/asm-parisc/bitops.h      Grant Grundler 2005-10-21  19   */
a366064c3ff46c include/asm-parisc/bitops.h      Grant Grundler 2005-10-21  20  
a366064c3ff46c include/asm-parisc/bitops.h      Grant Grundler 2005-10-21  21  static __inline__ void set_bit(int nr, volatile unsigned long * addr)
^1da177e4c3f41 include/asm-parisc/bitops.h      Linus Torvalds 2005-04-16  22  {
208151bfb70fb7 arch/parisc/include/asm/bitops.h Helge Deller   2020-06-14  23  	unsigned long mask = BIT_MASK(nr);
^1da177e4c3f41 include/asm-parisc/bitops.h      Linus Torvalds 2005-04-16  24  	unsigned long flags;
^1da177e4c3f41 include/asm-parisc/bitops.h      Linus Torvalds 2005-04-16  25  
208151bfb70fb7 arch/parisc/include/asm/bitops.h Helge Deller   2020-06-14  26  	addr += BIT_WORD(nr);
^1da177e4c3f41 include/asm-parisc/bitops.h      Linus Torvalds 2005-04-16 @27  	_atomic_spin_lock_irqsave(addr, flags);
^1da177e4c3f41 include/asm-parisc/bitops.h      Linus Torvalds 2005-04-16  28  	*addr |= mask;
^1da177e4c3f41 include/asm-parisc/bitops.h      Linus Torvalds 2005-04-16 @29  	_atomic_spin_unlock_irqrestore(addr, flags);
^1da177e4c3f41 include/asm-parisc/bitops.h      Linus Torvalds 2005-04-16  30  }
^1da177e4c3f41 include/asm-parisc/bitops.h      Linus Torvalds 2005-04-16  31  

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests



[Index of Archives]     [Linux Filesystems]     [Linux SCSI]     [Linux RAID]     [Git]     [Kernel Newbies]     [Linux Newbie]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Samba]     [Device Mapper]

  Powered by Linux