lkml.org 
[lkml]   [2021]   [Nov]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [norov:bitmap-tmp 7/8] arch/powerpc/xmon/xmon.c:472:64: error: expected ')' before 'return'
From
Date
On Fri, 2021-11-26 at 03:17 +0800, kernel test robot wrote:
> tree: https://github.com/norov/linux bitmap-tmp
> head: 75ee333c81c999b29a49810611fb160cec32217d
> commit: 29f49f10b3fbef5a88db0a7e370984297616f0fa [7/8] lib/cpumask: replace cpumask_weight with cpumask_{empty,gt,le,eq}
> config: powerpc-allyesconfig (https://download.01.org/0day-ci/archive/20211126/202111260340.kCOW9xsR-lkp@intel.com/config)
> compiler: powerpc-linux-gcc (GCC) 11.2.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/norov/linux/commit/29f49f10b3fbef5a88db0a7e370984297616f0fa
> git remote add norov https://github.com/norov/linux
> git fetch --no-tags norov bitmap-tmp
> git checkout 29f49f10b3fbef5a88db0a7e370984297616f0fa
> # save the config file to linux build tree
> mkdir build_dir
> COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=powerpc SHELL=/bin/bash
>
> If you fix the issue, kindly add following tag as appropriate
> Reported-by: kernel test robot <lkp@intel.com>
>
> All errors (new ones prefixed by >>):
>
> arch/powerpc/xmon/xmon.c: In function 'wait_for_other_cpus':
> > > arch/powerpc/xmon/xmon.c:472:64: error: expected ')' before 'return'
> 472 | if (cpumask_weight_gt(&cpus_in_xmon, ncpus - 1)
> | ~ ^
> | )
> 473 | return true;
> | ~~~~~~
> > > arch/powerpc/xmon/xmon.c:476:9: error: expected expression before '}' token
> 476 | }
> | ^

It's always good to compile test patches before submitting them and:

> vim +472 arch/powerpc/xmon/xmon.c
>
> 465
> 466 static bool wait_for_other_cpus(int ncpus)
> 467 {
> 468 unsigned long timeout;
> 469
> 470 /* We wait for 2s, which is a metric "little while" */
> 471 for (timeout = 20000; timeout != 0; --timeout) {
> > 472 if (cpumask_weight_gt(&cpus_in_xmon, ncpus - 1)
> 473 return true;
> 474 udelay(100);

unrelated trivia:

It seeems this loop could consume a lot of cpu/power.

Could this use usleep_range() or maybe something else that doesn't allow
rescheduling on another cpu?

Maybe it should be something like

unsigned long timeout = jiffies + msecs_to_jiffies(2000);

while (time_before(jiffies, timeout)) {
if (cpumask_weight_gt(&cpus_in_xmon, ncpus - 1)
return true;
usleep_range(100, 200);
}


\
 
 \ /
  Last update: 2021-11-25 20:46    [W:0.065 / U:0.376 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site