Re: [PATCH v2 07/12] locking/qspinlock: remove arch qspinlock_paravirt.h includes
From: kernel test robot
Date: Thu Jul 14 2022 - 09:15:34 EST
Hi Nicholas,
I love your patch! Perhaps something to improve:
[auto build test WARNING on tip/locking/core]
[also build test WARNING on tip/x86/core powerpc/next linus/master v5.19-rc6 next-20220714]
[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/Nicholas-Piggin/locking-qspinlock-simplify-code-generation/20220713-151009
base: https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git eae6d58d67d9739be5f7ae2dbead1d0ef6528243
config: i386-allyesconfig (https://download.01.org/0day-ci/archive/20220714/202207142142.cpBOsrfO-lkp@xxxxxxxxx/config)
compiler: gcc-11 (Debian 11.3.0-3) 11.3.0
reproduce (this is a W=1 build):
# https://github.com/intel-lab-lkp/linux/commit/87679eeea9f1939c252d16df3ac6a01bf9daaa60
git remote add linux-review https://github.com/intel-lab-lkp/linux
git fetch --no-tags linux-review Nicholas-Piggin/locking-qspinlock-simplify-code-generation/20220713-151009
git checkout 87679eeea9f1939c252d16df3ac6a01bf9daaa60
# save the config file
mkdir build_dir && cp config build_dir/.config
make W=1 O=build_dir ARCH=i386 SHELL=/bin/bash kernel/locking/
If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <lkp@xxxxxxxxx>
All warnings (new ones prefixed by >>):
In file included from kernel/locking/qspinlock.c:29:
kernel/locking/qspinlock_stat.h:36:9: warning: no previous prototype for 'lockevent_read' [-Wmissing-prototypes]
36 | ssize_t lockevent_read(struct file *file, char __user *user_buf,
| ^~~~~~~~~~~~~~
kernel/locking/qspinlock.c:705:1: warning: no previous prototype for '__pv_queued_spin_unlock_slowpath' [-Wmissing-prototypes]
705 | __pv_queued_spin_unlock_slowpath(struct qspinlock *lock, u8 locked)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> kernel/locking/qspinlock.c:749:16: warning: no previous prototype for '__pv_queued_spin_unlock' [-Wmissing-prototypes]
749 | __visible void __pv_queued_spin_unlock(struct qspinlock *lock)
| ^~~~~~~~~~~~~~~~~~~~~~~
vim +/__pv_queued_spin_unlock +749 kernel/locking/qspinlock.c
91668ee1ed703d Nicholas Piggin 2022-07-13 747
91668ee1ed703d Nicholas Piggin 2022-07-13 748 #ifndef __pv_queued_spin_unlock
91668ee1ed703d Nicholas Piggin 2022-07-13 @749 __visible void __pv_queued_spin_unlock(struct qspinlock *lock)
91668ee1ed703d Nicholas Piggin 2022-07-13 750 {
91668ee1ed703d Nicholas Piggin 2022-07-13 751 u8 locked;
91668ee1ed703d Nicholas Piggin 2022-07-13 752
91668ee1ed703d Nicholas Piggin 2022-07-13 753 /*
91668ee1ed703d Nicholas Piggin 2022-07-13 754 * We must not unlock if SLOW, because in that case we must first
91668ee1ed703d Nicholas Piggin 2022-07-13 755 * unhash. Otherwise it would be possible to have multiple @lock
91668ee1ed703d Nicholas Piggin 2022-07-13 756 * entries, which would be BAD.
91668ee1ed703d Nicholas Piggin 2022-07-13 757 */
91668ee1ed703d Nicholas Piggin 2022-07-13 758 locked = cmpxchg_release(&lock->locked, _Q_LOCKED_VAL, 0);
91668ee1ed703d Nicholas Piggin 2022-07-13 759 if (likely(locked == _Q_LOCKED_VAL))
91668ee1ed703d Nicholas Piggin 2022-07-13 760 return;
91668ee1ed703d Nicholas Piggin 2022-07-13 761
91668ee1ed703d Nicholas Piggin 2022-07-13 762 __pv_queued_spin_unlock_slowpath(lock, locked);
91668ee1ed703d Nicholas Piggin 2022-07-13 763 }
87679eeea9f193 Nicholas Piggin 2022-07-13 764 EXPORT_SYMBOL(__pv_queued_spin_unlock);
91668ee1ed703d Nicholas Piggin 2022-07-13 765 #endif
91668ee1ed703d Nicholas Piggin 2022-07-13 766
--
0-DAY CI Kernel Test Service
https://01.org/lkp