[ammarfaizi2-block:paulmck/linux-rcu/dev 94/94] kernel/rcu/srcutree.c:313:6: warning: no previous prototype for function 'spin_lock_irqsave_ssp_contention'

From: kernel test robot
Date: Fri Jan 28 2022 - 06:08:35 EST


tree: https://github.com/ammarfaizi2/linux-block paulmck/linux-rcu/dev
head: 903a93309e5a59497d3c178cabb67ecc6c843a69
commit: 903a93309e5a59497d3c178cabb67ecc6c843a69 [94/94] srcu: Add contention-triggered addition of srcu_node tree
config: arm-s5pv210_defconfig (https://download.01.org/0day-ci/archive/20220128/202201281920.PD1buizH-lkp@xxxxxxxxx/config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 33b45ee44b1f32ffdbc995e6fec806271b4b3ba4)
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
# install arm cross compiling tool for clang build
# apt-get install binutils-arm-linux-gnueabi
# https://github.com/ammarfaizi2/linux-block/commit/903a93309e5a59497d3c178cabb67ecc6c843a69
git remote add ammarfaizi2-block https://github.com/ammarfaizi2/linux-block
git fetch --no-tags ammarfaizi2-block paulmck/linux-rcu/dev
git checkout 903a93309e5a59497d3c178cabb67ecc6c843a69
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=arm SHELL=/bin/bash kernel/rcu/

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

All warnings (new ones prefixed by >>):

>> kernel/rcu/srcutree.c:313:6: warning: no previous prototype for function 'spin_lock_irqsave_ssp_contention' [-Wmissing-prototypes]
void spin_lock_irqsave_ssp_contention(struct srcu_struct *ssp, unsigned long *flags)
^
kernel/rcu/srcutree.c:313:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
void spin_lock_irqsave_ssp_contention(struct srcu_struct *ssp, unsigned long *flags)
^
static
1 warning generated.


vim +/spin_lock_irqsave_ssp_contention +313 kernel/rcu/srcutree.c

306
307 /*
308 * Acquire the specified srcu_struct structure's ->lock, but check for
309 * excessive contention, which results in initiation of a transition
310 * to SRCU_SIZE_BIG. But only if the srcutree.convert_to_big module
311 * parameter permits this.
312 */
> 313 void spin_lock_irqsave_ssp_contention(struct srcu_struct *ssp, unsigned long *flags)
314 {
315 unsigned long j;
316
317 if (spin_trylock_irqsave_rcu_node(ssp, *flags))
318 return;
319 spin_lock_irqsave_rcu_node(ssp, *flags);
320 if (!(convert_to_big & 0x10) || ssp->srcu_size_state)
321 return;
322 j = jiffies;
323 if (ssp->srcu_size_jiffies != j) {
324 ssp->srcu_size_jiffies = j;
325 ssp->srcu_n_lock_retries = 0;
326 }
327 if (++ssp->srcu_n_lock_retries <= small_contention_lim)
328 return;
329 __srcu_transition_to_big(ssp);
330 }
331

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx