[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20220128161836.GM4285@paulmck-ThinkPad-P17-Gen-1>
Date: Fri, 28 Jan 2022 08:18:36 -0800
From: "Paul E. McKenney" <paulmck@...nel.org>
To: kernel test robot <lkp@...el.com>
Cc: llvm@...ts.linux.dev, kbuild-all@...ts.01.org,
GNU/Weeb Mailing List <gwml@...weeb.org>,
linux-kernel@...r.kernel.org
Subject: Re: [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'
On Fri, Jan 28, 2022 at 07:07:42PM +0800, kernel test robot wrote:
> 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@intel.com/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@...el.com>
I will fold in addition of "static" with attribution, thank you!
Thanx, Paul
> 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@lists.01.org
Powered by blists - more mailing lists