Re: Re: [PATCH tip/core/rcu 02/18] rcu: Move rcu_report_exp_rnp() to allow consolidation

From: kbuild test robot
Date: Wed Oct 07 2015 - 08:08:42 EST


Hi Peter,

[auto build test WARNING on v4.3-rc4 -- if it's inappropriate base, please ignore]

config: x86_64-randconfig-x010-201540 (attached as .config)
reproduce:
# save the attached .config to linux build tree
make ARCH=x86_64

All warnings (new ones prefixed by >>):

In file included from include/linux/kernel.h:12:0,
from kernel/rcu/tree.c:31:
kernel/rcu/tree.c: In function '_raw_spin_lock_irqsave_rcu_node':
include/linux/typecheck.h:11:18: warning: comparison of distinct pointer types lacks a cast
(void)(&__dummy == &__dummy2); \
^
>> include/linux/irqflags.h:63:3: note: in expansion of macro 'typecheck'
typecheck(unsigned long, flags); \
^
>> include/linux/irqflags.h:95:3: note: in expansion of macro 'raw_local_irq_save'
raw_local_irq_save(flags); \
^
>> include/linux/spinlock_api_up.h:40:8: note: in expansion of macro 'local_irq_save'
do { local_irq_save(flags); __LOCK(lock); } while (0)
^
>> include/linux/spinlock_api_up.h:69:45: note: in expansion of macro '__LOCK_IRQSAVE'
#define _raw_spin_lock_irqsave(lock, flags) __LOCK_IRQSAVE(lock, flags)
^
>> kernel/rcu/tree.c:1488:2: note: in expansion of macro '_raw_spin_lock_irqsave'
_raw_spin_lock_irqsave(&rnp->lock, flags);
^
In file included from arch/x86/include/asm/processor.h:32:0,
from arch/x86/include/asm/thread_info.h:52,
from include/linux/thread_info.h:54,
from arch/x86/include/asm/preempt.h:6,
from include/linux/preempt.h:64,
from include/linux/spinlock.h:50,
from kernel/rcu/tree.c:33:
>> include/linux/irqflags.h:64:9: warning: assignment makes pointer from integer without a cast [-Wint-conversion]
flags = arch_local_irq_save(); \
^
>> include/linux/irqflags.h:95:3: note: in expansion of macro 'raw_local_irq_save'
raw_local_irq_save(flags); \
^
>> include/linux/spinlock_api_up.h:40:8: note: in expansion of macro 'local_irq_save'
do { local_irq_save(flags); __LOCK(lock); } while (0)
^
>> include/linux/spinlock_api_up.h:69:45: note: in expansion of macro '__LOCK_IRQSAVE'
#define _raw_spin_lock_irqsave(lock, flags) __LOCK_IRQSAVE(lock, flags)
^
>> kernel/rcu/tree.c:1488:2: note: in expansion of macro '_raw_spin_lock_irqsave'
_raw_spin_lock_irqsave(&rnp->lock, flags);
^
kernel/rcu/tree.c: At top level:
kernel/rcu/tree.c:1493:34: error: expected declaration specifiers or '...' before '(' token
_raw_spin_lock_irqsave_rcu_node((rnp), &(flags))
^
kernel/rcu/tree.c:1493:41: error: expected declaration specifiers or '...' before '&' token
_raw_spin_lock_irqsave_rcu_node((rnp), &(flags))
^
kernel/rcu/tree.c: In function 'note_gp_changes':
kernel/rcu/tree.c:1807:7: error: implicit declaration of function 'raw_spin_trylock_rcu_node' [-Werror=implicit-function-declaration]
!raw_spin_trylock_rcu_node(rnp)) { /* irqs already off, so later. */
^
cc1: some warnings being treated as errors

vim +/_raw_spin_lock_irqsave +1488 kernel/rcu/tree.c

1472 */
1473 static inline void raw_spin_lock_rcu_node(struct rcu_node *rnp)
1474 {
1475 raw_spin_lock(&rnp->lock);
1476 smp_mb__after_unlock_lock();
1477 }
1478
1479 static inline void raw_spin_lock_irq_rcu_node(struct rcu_node *rnp)
1480 {
1481 raw_spin_lock_irq(&rnp->lock);
1482 smp_mb__after_unlock_lock();
1483 }
1484
1485 static inline void
1486 _raw_spin_lock_irqsave_rcu_node(struct rcu_node *rnp, unsigned long *flags)
1487 {
> 1488 _raw_spin_lock_irqsave(&rnp->lock, flags);
1489 smp_mb__after_unlock_lock();
1490 }
1491
1492 #define raw_spin_lock_irqsave_rcu_node(rnp, flags)
1493 _raw_spin_lock_irqsave_rcu_node((rnp), &(flags))
1494
1495 static inline bool raw_spin_trylock_rcu_node(struct rcu_node *rnp)
1496 {

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

Attachment: .config.gz
Description: Binary data