From: kbuild test robot <lkp@intel.com>
To: Mark Rutland <mark.rutland@arm.com>
Cc: kbuild-all@01.org, linux-kernel@vger.kernel.org,
Mark Rutland <mark.rutland@arm.com>,
Peter Zijlstra <peterz@infradead.org>,
Ingo Molnar <mingo@redhat.com>
Subject: Re: [PATCH] locking/spinlock/debug: snapshot lock fields
Date: Tue, 24 Oct 2017 04:26:19 +0800 [thread overview]
Message-ID: <201710240408.Rq4Hyxb2%fengguang.wu@intel.com> (raw)
In-Reply-To: <20171023122910.28376-1-mark.rutland@arm.com>
[-- Attachment #1: Type: text/plain, Size: 4909 bytes --]
Hi Mark,
[auto build test WARNING on tip/locking/core]
[also build test WARNING on v4.14-rc6 next-20171018]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]
url: https://github.com/0day-ci/linux/commits/Mark-Rutland/locking-spinlock-debug-snapshot-lock-fields/20171024-035933
config: i386-randconfig-x003-201743 (attached as .config)
compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901
reproduce:
# save the attached .config to linux build tree
make ARCH=i386
All warnings (new ones prefixed by >>):
In file included from include/linux/linkage.h:4:0,
from include/linux/preempt.h:9,
from include/linux/spinlock.h:50,
from kernel/locking/spinlock_debug.c:9:
kernel/locking/spinlock_debug.c: In function 'debug_spin_unlock':
kernel/locking/spinlock_debug.c:124:14: error: implicit declaration of function 'arch_spin_value_unlocked' [-Werror=implicit-function-declaration]
SPIN_BUG_ON(arch_spin_value_unlocked(lock.raw_lock), lockp, lock,
^
include/linux/compiler.h:131:34: note: in definition of macro '__branch_check__'
______r = __builtin_expect(!!(x), expect); \
^
>> kernel/locking/spinlock_debug.c:81:6: note: in expansion of macro 'unlikely'
if (unlikely(cond)) spin_bug(lockp, lock, msg)
^~~~~~~~
kernel/locking/spinlock_debug.c:124:2: note: in expansion of macro 'SPIN_BUG_ON'
SPIN_BUG_ON(arch_spin_value_unlocked(lock.raw_lock), lockp, lock,
^~~~~~~~~~~
kernel/locking/spinlock_debug.c: In function 'do_raw_spin_trylock':
kernel/locking/spinlock_debug.c:154:49: error: macro "SPIN_BUG_ON" requires 4 arguments, but only 3 given
SPIN_BUG_ON(!ret, lock, "trylock failure on UP");
^
kernel/locking/spinlock_debug.c:154:2: error: 'SPIN_BUG_ON' undeclared (first use in this function)
SPIN_BUG_ON(!ret, lock, "trylock failure on UP");
^~~~~~~~~~~
kernel/locking/spinlock_debug.c:154:2: note: each undeclared identifier is reported only once for each function it appears in
cc1: some warnings being treated as errors
vim +/unlikely +81 kernel/locking/spinlock_debug.c
> 9 #include <linux/spinlock.h>
10 #include <linux/nmi.h>
11 #include <linux/interrupt.h>
12 #include <linux/debug_locks.h>
13 #include <linux/delay.h>
14 #include <linux/export.h>
15
16 void __raw_spin_lock_init(raw_spinlock_t *lock, const char *name,
17 struct lock_class_key *key)
18 {
19 #ifdef CONFIG_DEBUG_LOCK_ALLOC
20 /*
21 * Make sure we are not reinitializing a held lock:
22 */
23 debug_check_no_locks_freed((void *)lock, sizeof(*lock));
24 lockdep_init_map(&lock->dep_map, name, key, 0);
25 #endif
26 lock->raw_lock = (arch_spinlock_t)__ARCH_SPIN_LOCK_UNLOCKED;
27 lock->magic = SPINLOCK_MAGIC;
28 lock->owner = SPINLOCK_OWNER_INIT;
29 lock->owner_cpu = -1;
30 }
31
32 EXPORT_SYMBOL(__raw_spin_lock_init);
33
34 void __rwlock_init(rwlock_t *lock, const char *name,
35 struct lock_class_key *key)
36 {
37 #ifdef CONFIG_DEBUG_LOCK_ALLOC
38 /*
39 * Make sure we are not reinitializing a held lock:
40 */
41 debug_check_no_locks_freed((void *)lock, sizeof(*lock));
42 lockdep_init_map(&lock->dep_map, name, key, 0);
43 #endif
44 lock->raw_lock = (arch_rwlock_t) __ARCH_RW_LOCK_UNLOCKED;
45 lock->magic = RWLOCK_MAGIC;
46 lock->owner = SPINLOCK_OWNER_INIT;
47 lock->owner_cpu = -1;
48 }
49
50 EXPORT_SYMBOL(__rwlock_init);
51
52 static void spin_dump(raw_spinlock_t *lockp, raw_spinlock_t lock,
53 const char *msg)
54 {
55 struct task_struct *owner = NULL;
56
57 if (lock.owner && lock.owner != SPINLOCK_OWNER_INIT)
58 owner = lock.owner;
59 printk(KERN_EMERG "BUG: spinlock %s on CPU#%d, %s/%d\n",
60 msg, raw_smp_processor_id(),
61 current->comm, task_pid_nr(current));
62 printk(KERN_EMERG " lock: %pS, .magic: %08x, .owner: %s/%d, "
63 ".owner_cpu: %d\n",
64 lockp, lock.magic,
65 owner ? owner->comm : "<none>",
66 owner ? task_pid_nr(owner) : -1,
67 lock.owner_cpu);
68 dump_stack();
69 }
70
71 static void spin_bug(raw_spinlock_t *lockp, raw_spinlock_t lock,
72 const char *msg)
73 {
74 if (!debug_locks_off())
75 return;
76
77 spin_dump(lockp, lock, msg);
78 }
79
80 #define SPIN_BUG_ON(cond, lockp, lock, msg) \
> 81 if (unlikely(cond)) spin_bug(lockp, lock, msg)
82
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 29944 bytes --]
prev parent reply other threads:[~2017-10-23 20:27 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-10-23 12:29 Mark Rutland
2017-10-23 13:46 ` Peter Zijlstra
2017-10-23 20:22 ` kbuild test robot
2017-10-23 20:26 ` kbuild test robot [this message]
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=201710240408.Rq4Hyxb2%fengguang.wu@intel.com \
--to=lkp@intel.com \
--cc=kbuild-all@01.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mark.rutland@arm.com \
--cc=mingo@redhat.com \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®