All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Peter Zijlstra <peterz@infradead.org>
Cc: llvm@lists.linux.dev, oe-kbuild-all@lists.linux.dev
Subject: [peterz-queue:core/softirq 8/8] kernel/rcu/tree_nocb.h:954:18: error: too few arguments to function call, expected 2, have 1
Date: Wed, 1 Feb 2023 03:50:02 +0800	[thread overview]
Message-ID: <202302010309.ecdK08hE-lkp@intel.com> (raw)

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/peterz/queue.git core/softirq
head:   d0bf4e7eda39329deaa144785a22906dfec65c94
commit: d0bf4e7eda39329deaa144785a22906dfec65c94 [8/8] softirq,rcu: Use softirq_needs_break()
config: x86_64-randconfig-a015-20230130 (https://download.01.org/0day-ci/archive/20230201/202302010309.ecdK08hE-lkp@intel.com/config)
compiler: clang version 14.0.6 (https://github.com/llvm/llvm-project f28c006a5895fc0e329fe15fead81e37457cb1d1)
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://git.kernel.org/pub/scm/linux/kernel/git/peterz/queue.git/commit/?id=d0bf4e7eda39329deaa144785a22906dfec65c94
        git remote add peterz-queue https://git.kernel.org/pub/scm/linux/kernel/git/peterz/queue.git
        git fetch --no-tags peterz-queue core/softirq
        git checkout d0bf4e7eda39329deaa144785a22906dfec65c94
        # 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=x86_64 olddefconfig
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash

If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@intel.com>

All errors (new ones prefixed by >>):

   In file included from kernel/rcu/tree.c:4830:
>> kernel/rcu/tree_nocb.h:954:18: error: too few arguments to function call, expected 2, have 1
           rcu_do_batch(rdp);
           ~~~~~~~~~~~~    ^
   kernel/rcu/tree.c:2180:13: note: 'rcu_do_batch' declared here
   static void rcu_do_batch(struct softirq_action *h, struct rcu_data *rdp)
               ^
   1 error generated.


vim +954 kernel/rcu/tree_nocb.h

dfcb27540213e8 Frederic Weisbecker 2021-05-19  917  
dfcb27540213e8 Frederic Weisbecker 2021-05-19  918  /*
dfcb27540213e8 Frederic Weisbecker 2021-05-19  919   * Invoke any ready callbacks from the corresponding no-CBs CPU,
dfcb27540213e8 Frederic Weisbecker 2021-05-19  920   * then, if there are no more, wait for more to appear.
dfcb27540213e8 Frederic Weisbecker 2021-05-19  921   */
dfcb27540213e8 Frederic Weisbecker 2021-05-19  922  static void nocb_cb_wait(struct rcu_data *rdp)
dfcb27540213e8 Frederic Weisbecker 2021-05-19  923  {
dfcb27540213e8 Frederic Weisbecker 2021-05-19  924  	struct rcu_segcblist *cblist = &rdp->cblist;
dfcb27540213e8 Frederic Weisbecker 2021-05-19  925  	unsigned long cur_gp_seq;
dfcb27540213e8 Frederic Weisbecker 2021-05-19  926  	unsigned long flags;
dfcb27540213e8 Frederic Weisbecker 2021-05-19  927  	bool needwake_state = false;
dfcb27540213e8 Frederic Weisbecker 2021-05-19  928  	bool needwake_gp = false;
dfcb27540213e8 Frederic Weisbecker 2021-05-19  929  	bool can_sleep = true;
dfcb27540213e8 Frederic Weisbecker 2021-05-19  930  	struct rcu_node *rnp = rdp->mynode;
dfcb27540213e8 Frederic Weisbecker 2021-05-19  931  
8d970396469734 Frederic Weisbecker 2021-11-23  932  	do {
8d970396469734 Frederic Weisbecker 2021-11-23  933  		swait_event_interruptible_exclusive(rdp->nocb_cb_wq,
8d970396469734 Frederic Weisbecker 2021-11-23  934  						    nocb_cb_wait_cond(rdp));
8d970396469734 Frederic Weisbecker 2021-11-23  935  
8d970396469734 Frederic Weisbecker 2021-11-23  936  		// VVV Ensure CB invocation follows _sleep test.
8d970396469734 Frederic Weisbecker 2021-11-23  937  		if (smp_load_acquire(&rdp->nocb_cb_sleep)) { // ^^^
8d970396469734 Frederic Weisbecker 2021-11-23  938  			WARN_ON(signal_pending(current));
8d970396469734 Frederic Weisbecker 2021-11-23  939  			trace_rcu_nocb_wake(rcu_state.name, rdp->cpu, TPS("WokeEmpty"));
8d970396469734 Frederic Weisbecker 2021-11-23  940  		}
8d970396469734 Frederic Weisbecker 2021-11-23  941  	} while (!nocb_cb_can_run(rdp));
8d970396469734 Frederic Weisbecker 2021-11-23  942  
8d970396469734 Frederic Weisbecker 2021-11-23  943  
dfcb27540213e8 Frederic Weisbecker 2021-05-19  944  	local_irq_save(flags);
dfcb27540213e8 Frederic Weisbecker 2021-05-19  945  	rcu_momentary_dyntick_idle();
dfcb27540213e8 Frederic Weisbecker 2021-05-19  946  	local_irq_restore(flags);
dfcb27540213e8 Frederic Weisbecker 2021-05-19  947  	/*
dfcb27540213e8 Frederic Weisbecker 2021-05-19  948  	 * Disable BH to provide the expected environment.  Also, when
dfcb27540213e8 Frederic Weisbecker 2021-05-19  949  	 * transitioning to/from NOCB mode, a self-requeuing callback might
dfcb27540213e8 Frederic Weisbecker 2021-05-19  950  	 * be invoked from softirq.  A short grace period could cause both
dfcb27540213e8 Frederic Weisbecker 2021-05-19  951  	 * instances of this callback would execute concurrently.
dfcb27540213e8 Frederic Weisbecker 2021-05-19  952  	 */
dfcb27540213e8 Frederic Weisbecker 2021-05-19  953  	local_bh_disable();
dfcb27540213e8 Frederic Weisbecker 2021-05-19 @954  	rcu_do_batch(rdp);
dfcb27540213e8 Frederic Weisbecker 2021-05-19  955  	local_bh_enable();
dfcb27540213e8 Frederic Weisbecker 2021-05-19  956  	lockdep_assert_irqs_enabled();
dfcb27540213e8 Frederic Weisbecker 2021-05-19  957  	rcu_nocb_lock_irqsave(rdp, flags);
dfcb27540213e8 Frederic Weisbecker 2021-05-19  958  	if (rcu_segcblist_nextgp(cblist, &cur_gp_seq) &&
dfcb27540213e8 Frederic Weisbecker 2021-05-19  959  	    rcu_seq_done(&rnp->gp_seq, cur_gp_seq) &&
dfcb27540213e8 Frederic Weisbecker 2021-05-19  960  	    raw_spin_trylock_rcu_node(rnp)) { /* irqs already disabled. */
dfcb27540213e8 Frederic Weisbecker 2021-05-19  961  		needwake_gp = rcu_advance_cbs(rdp->mynode, rdp);
dfcb27540213e8 Frederic Weisbecker 2021-05-19  962  		raw_spin_unlock_rcu_node(rnp); /* irqs remain disabled. */
dfcb27540213e8 Frederic Weisbecker 2021-05-19  963  	}
dfcb27540213e8 Frederic Weisbecker 2021-05-19  964  
dfcb27540213e8 Frederic Weisbecker 2021-05-19  965  	if (rcu_segcblist_test_flags(cblist, SEGCBLIST_OFFLOADED)) {
dfcb27540213e8 Frederic Weisbecker 2021-05-19  966  		if (!rcu_segcblist_test_flags(cblist, SEGCBLIST_KTHREAD_CB)) {
dfcb27540213e8 Frederic Weisbecker 2021-05-19  967  			rcu_segcblist_set_flags(cblist, SEGCBLIST_KTHREAD_CB);
dfcb27540213e8 Frederic Weisbecker 2021-05-19  968  			if (rcu_segcblist_test_flags(cblist, SEGCBLIST_KTHREAD_GP))
dfcb27540213e8 Frederic Weisbecker 2021-05-19  969  				needwake_state = true;
dfcb27540213e8 Frederic Weisbecker 2021-05-19  970  		}
dfcb27540213e8 Frederic Weisbecker 2021-05-19  971  		if (rcu_segcblist_ready_cbs(cblist))
dfcb27540213e8 Frederic Weisbecker 2021-05-19  972  			can_sleep = false;
dfcb27540213e8 Frederic Weisbecker 2021-05-19  973  	} else {
dfcb27540213e8 Frederic Weisbecker 2021-05-19  974  		/*
dfcb27540213e8 Frederic Weisbecker 2021-05-19  975  		 * De-offloading. Clear our flag and notify the de-offload worker.
dfcb27540213e8 Frederic Weisbecker 2021-05-19  976  		 * We won't touch the callbacks and keep sleeping until we ever
dfcb27540213e8 Frederic Weisbecker 2021-05-19  977  		 * get re-offloaded.
dfcb27540213e8 Frederic Weisbecker 2021-05-19  978  		 */
dfcb27540213e8 Frederic Weisbecker 2021-05-19  979  		WARN_ON_ONCE(!rcu_segcblist_test_flags(cblist, SEGCBLIST_KTHREAD_CB));
dfcb27540213e8 Frederic Weisbecker 2021-05-19  980  		rcu_segcblist_clear_flags(cblist, SEGCBLIST_KTHREAD_CB);
dfcb27540213e8 Frederic Weisbecker 2021-05-19  981  		if (!rcu_segcblist_test_flags(cblist, SEGCBLIST_KTHREAD_GP))
dfcb27540213e8 Frederic Weisbecker 2021-05-19  982  			needwake_state = true;
dfcb27540213e8 Frederic Weisbecker 2021-05-19  983  	}
dfcb27540213e8 Frederic Weisbecker 2021-05-19  984  
dfcb27540213e8 Frederic Weisbecker 2021-05-19  985  	WRITE_ONCE(rdp->nocb_cb_sleep, can_sleep);
dfcb27540213e8 Frederic Weisbecker 2021-05-19  986  
dfcb27540213e8 Frederic Weisbecker 2021-05-19  987  	if (rdp->nocb_cb_sleep)
dfcb27540213e8 Frederic Weisbecker 2021-05-19  988  		trace_rcu_nocb_wake(rcu_state.name, rdp->cpu, TPS("CBSleep"));
dfcb27540213e8 Frederic Weisbecker 2021-05-19  989  
dfcb27540213e8 Frederic Weisbecker 2021-05-19  990  	rcu_nocb_unlock_irqrestore(rdp, flags);
dfcb27540213e8 Frederic Weisbecker 2021-05-19  991  	if (needwake_gp)
dfcb27540213e8 Frederic Weisbecker 2021-05-19  992  		rcu_gp_kthread_wake();
dfcb27540213e8 Frederic Weisbecker 2021-05-19  993  
dfcb27540213e8 Frederic Weisbecker 2021-05-19  994  	if (needwake_state)
dfcb27540213e8 Frederic Weisbecker 2021-05-19  995  		swake_up_one(&rdp->nocb_state_wq);
dfcb27540213e8 Frederic Weisbecker 2021-05-19  996  }
dfcb27540213e8 Frederic Weisbecker 2021-05-19  997  

:::::: The code at line 954 was first introduced by commit
:::::: dfcb27540213e8061ecffacd4bd8ed54a310a7b0 rcu/nocb: Start moving nocb code to its own plugin file

:::::: TO: Frederic Weisbecker <frederic@kernel.org>
:::::: CC: Paul E. McKenney <paulmck@kernel.org>

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests

             reply	other threads:[~2023-01-31 19:50 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-01-31 19:50 kernel test robot [this message]
  -- strict thread matches above, loose matches on Subject: below --
2023-04-05 11:55 [peterz-queue:core/softirq 8/8] kernel/rcu/tree_nocb.h:954:18: error: too few arguments to function call, expected 2, have 1 kernel test robot

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202302010309.ecdK08hE-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=llvm@lists.linux.dev \
    --cc=oe-kbuild-all@lists.linux.dev \
    --cc=peterz@infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.