Re: [PATCH 2/4] barrier.h: Move smp_mb__after_unlock_lock to barrier.h

From: kbuild test robot
Date: Sun Aug 28 2016 - 10:43:22 EST


Hi Manfred,

[auto build test ERROR on next-20160825]
[cannot apply to tip/locking/core linus/master linux/master v4.8-rc3 v4.8-rc2 v4.8-rc1 v4.8-rc3]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]
[Suggest to use git(>=2.9.0) format-patch --base=<commit> (or --base=auto for convenience) to record what (public, well-known) commit your patch series was built on]
[Check https://git-scm.com/docs/git-format-patch for more information]

url: https://github.com/0day-ci/linux/commits/Manfred-Spraul/spinlock-Document-memory-barrier-rules/20160828-200220
config: arm64-defconfig (attached as .config)
compiler: aarch64-linux-gnu-gcc (Debian 5.4.0-6) 5.4.0 20160609
reproduce:
wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
make.cross ARCH=arm64

All errors (new ones prefixed by >>):

In file included from kernel/rcu/tree.c:59:0:
kernel/rcu/tree.h: In function 'raw_spin_lock_rcu_node':
>> kernel/rcu/tree.h:706:2: error: implicit declaration of function 'smp_mb__after_unlock_lock' [-Werror=implicit-function-declaration]
smp_mb__after_unlock_lock();
^
cc1: some warnings being treated as errors

vim +/smp_mb__after_unlock_lock +706 kernel/rcu/tree.h

67c583a7 Boqun Feng 2015-12-29 700 * As ->lock of struct rcu_node is a __private field, therefore one should use
67c583a7 Boqun Feng 2015-12-29 701 * these wrappers rather than directly call raw_spin_{lock,unlock}* on ->lock.
2a67e741 Peter Zijlstra 2015-10-08 702 */
2a67e741 Peter Zijlstra 2015-10-08 703 static inline void raw_spin_lock_rcu_node(struct rcu_node *rnp)
2a67e741 Peter Zijlstra 2015-10-08 704 {
67c583a7 Boqun Feng 2015-12-29 705 raw_spin_lock(&ACCESS_PRIVATE(rnp, lock));
2a67e741 Peter Zijlstra 2015-10-08 @706 smp_mb__after_unlock_lock();
2a67e741 Peter Zijlstra 2015-10-08 707 }
2a67e741 Peter Zijlstra 2015-10-08 708
67c583a7 Boqun Feng 2015-12-29 709 static inline void raw_spin_unlock_rcu_node(struct rcu_node *rnp)

:::::: The code at line 706 was first introduced by commit
:::::: 2a67e741bbbc022e0fadf8c6dbc3a76019ecd0cf rcu: Create transitive rnp->lock acquisition functions

:::::: TO: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
:::::: CC: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx>

---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation

Attachment: .config.gz
Description: Binary data