2022-04-21 10:00:45

by Paul E. McKenney

[permalink] [raw]
Subject: Re: [ammarfaizi2-block:paulmck/linux-rcu/dev 28/28] kernel/rcu/tree_nocb.h:1213:3: warning: misleading indentation; statement is not part of the previous 'if'

On Wed, Apr 20, 2022 at 05:57:46PM +0800, kernel test robot wrote:
> tree: https://github.com/ammarfaizi2/linux-block paulmck/linux-rcu/dev
> head: ad68d8bf085421e4f22731c8b64c0b774a154e06
> commit: ad68d8bf085421e4f22731c8b64c0b774a154e06 [28/28] rcu/nocb: Add an option to offload all CPUs on boot
> config: riscv-randconfig-r024-20220420 (https://download.01.org/0day-ci/archive/20220420/[email protected]/config)
> compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project bac6cd5bf85669e3376610cfc4c4f9ca015e7b9b)
> 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 riscv cross compiling tool for clang build
> # apt-get install binutils-riscv64-linux-gnu
> # https://github.com/ammarfaizi2/linux-block/commit/ad68d8bf085421e4f22731c8b64c0b774a154e06
> git remote add ammarfaizi2-block https://github.com/ammarfaizi2/linux-block
> git fetch --no-tags ammarfaizi2-block paulmck/linux-rcu/dev
> git checkout ad68d8bf085421e4f22731c8b64c0b774a154e06
> # save the config file
> mkdir build_dir && cp config build_dir/.config
> COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=riscv SHELL=/bin/bash kernel/
>
> If you fix the issue, kindly add following tag as appropriate
> Reported-by: kernel test robot <[email protected]>
>
> All warnings (new ones prefixed by >>):

I am dropping this commit, and thank you for your testing efforts!

Thanx, Paul

> In file included from kernel/rcu/tree.c:5031:
> >> kernel/rcu/tree_nocb.h:1213:3: warning: misleading indentation; statement is not part of the previous 'if' [-Wmisleading-indentation]
> offload_all = false; /* NO_HZ_FULL has its own mask. */
> ^
> kernel/rcu/tree_nocb.h:1211:2: note: previous statement is here
> if (tick_nohz_full_running && !cpumask_empty(tick_nohz_full_mask))
> ^
> kernel/rcu/tree_nocb.h:1198:6: warning: unused variable 'cpu' [-Wunused-variable]
> int cpu;
> ^
> kernel/rcu/tree_nocb.h:1199:7: warning: variable 'need_rcu_nocb_mask' set but not used [-Wunused-but-set-variable]
> bool need_rcu_nocb_mask = false;
> ^
> kernel/rcu/tree_nocb.h:1200:7: warning: variable 'offload_all' set but not used [-Wunused-but-set-variable]
> bool offload_all = false;
> ^
> kernel/rcu/tree_nocb.h:1201:19: warning: unused variable 'rdp' [-Wunused-variable]
> struct rcu_data *rdp;
> ^
> kernel/rcu/tree_nocb.h:1217:2: error: expected identifier or '('
> if (need_rcu_nocb_mask) {
> ^
> kernel/rcu/tree_nocb.h:1227:2: error: expected identifier or '('
> if (!rcu_state.nocb_is_setup)
> ^
> kernel/rcu/tree_nocb.h:1231:2: error: expected identifier or '('
> if (tick_nohz_full_running)
> ^
> kernel/rcu/tree_nocb.h:1235:2: error: expected identifier or '('
> if (offload_all)
> ^
> kernel/rcu/tree_nocb.h:1238:2: error: expected identifier or '('
> if (!cpumask_subset(rcu_nocb_mask, cpu_possible_mask)) {
> ^
> kernel/rcu/tree_nocb.h:1243:2: error: expected identifier or '('
> if (cpumask_empty(rcu_nocb_mask))
> ^
> kernel/rcu/tree_nocb.h:1245:2: error: expected identifier or '('
> else
> ^
> kernel/rcu/tree_nocb.h:1248:2: error: expected identifier or '('
> if (rcu_nocb_poll)
> ^
> kernel/rcu/tree_nocb.h:1251:2: error: expected identifier or '('
> for_each_cpu(cpu, rcu_nocb_mask) {
> ^
> include/linux/cpumask.h:276:2: note: expanded from macro 'for_each_cpu'
> for ((cpu) = -1; \
> ^
> In file included from kernel/rcu/tree.c:5031:
> kernel/rcu/tree_nocb.h:1259:2: error: type specifier missing, defaults to 'int' [-Werror,-Wimplicit-int]
> rcu_organize_nocb_kthreads();
> ^
> kernel/rcu/tree_nocb.h:1259:28: error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes]
> rcu_organize_nocb_kthreads();
> ^
> void
> kernel/rcu/tree_nocb.h:1259:2: error: conflicting types for 'rcu_organize_nocb_kthreads'
> rcu_organize_nocb_kthreads();
> ^
> kernel/rcu/tree.h:463:20: note: previous declaration is here
> static void __init rcu_organize_nocb_kthreads(void);
> ^
> In file included from kernel/rcu/tree.c:5031:
> kernel/rcu/tree_nocb.h:1260:1: error: extraneous closing brace ('}')
> }
> ^
> 5 warnings and 13 errors generated.
>
>
> vim +/if +1213 kernel/rcu/tree_nocb.h
>
> 1209
> 1210 #if defined(CONFIG_NO_HZ_FULL)
> 1211 if (tick_nohz_full_running && !cpumask_empty(tick_nohz_full_mask))
> 1212 need_rcu_nocb_mask = true;
> > 1213 offload_all = false; /* NO_HZ_FULL has its own mask. */
> 1214 }
> 1215 #endif /* #if defined(CONFIG_NO_HZ_FULL) */
> 1216
> 1217 if (need_rcu_nocb_mask) {
> 1218 if (!cpumask_available(rcu_nocb_mask)) {
> 1219 if (!zalloc_cpumask_var(&rcu_nocb_mask, GFP_KERNEL)) {
> 1220 pr_info("rcu_nocb_mask allocation failed, callback offloading disabled.\n");
> 1221 return;
> 1222 }
> 1223 }
> 1224 rcu_state.nocb_is_setup = true;
> 1225 }
> 1226
> 1227 if (!rcu_state.nocb_is_setup)
> 1228 return;
> 1229
>
> --
> 0-DAY CI Kernel Test Service
> https://01.org/lkp


2022-04-22 21:17:29

by Joel Fernandes

[permalink] [raw]
Subject: Re: [ammarfaizi2-block:paulmck/linux-rcu/dev 28/28] kernel/rcu/tree_nocb.h:1213:3: warning: misleading indentation; statement is not part of the previous 'if'

On Wed, Apr 20, 2022 at 9:49 AM Paul E. McKenney <[email protected]> wrote:
>
> On Wed, Apr 20, 2022 at 05:57:46PM +0800, kernel test robot wrote:
> > tree: https://github.com/ammarfaizi2/linux-block paulmck/linux-rcu/dev
> > head: ad68d8bf085421e4f22731c8b64c0b774a154e06
> > commit: ad68d8bf085421e4f22731c8b64c0b774a154e06 [28/28] rcu/nocb: Add an option to offload all CPUs on boot
> > config: riscv-randconfig-r024-20220420 (https://download.01.org/0day-ci/archive/20220420/[email protected]/config)
> > compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project bac6cd5bf85669e3376610cfc4c4f9ca015e7b9b)
> > 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 riscv cross compiling tool for clang build
> > # apt-get install binutils-riscv64-linux-gnu
> > # https://github.com/ammarfaizi2/linux-block/commit/ad68d8bf085421e4f22731c8b64c0b774a154e06
> > git remote add ammarfaizi2-block https://github.com/ammarfaizi2/linux-block
> > git fetch --no-tags ammarfaizi2-block paulmck/linux-rcu/dev
> > git checkout ad68d8bf085421e4f22731c8b64c0b774a154e06
> > # save the config file
> > mkdir build_dir && cp config build_dir/.config
> > COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=riscv SHELL=/bin/bash kernel/
> >
> > If you fix the issue, kindly add following tag as appropriate
> > Reported-by: kernel test robot <[email protected]>
> >
> > All warnings (new ones prefixed by >>):
>
> I am dropping this commit, and thank you for your testing efforts!

I discussed privately with Paul and things are a bit late for -next as
other testing efforts are underway. So we'll revisit this patch in the
future. Just wanted to clarify to the onlooker that Paul isn't
dropping it because of a NAK or anything ;-)

Thanks,

- Joel