From: Sasha Levin <sashal@kernel.org>
To: torvalds@linux-foundation.org
Cc: mingo@kernel.org, peterz@infradead.org,
linux-kernel@vger.kernel.org, Sasha Levin <sashal@kernel.org>
Subject: [PATCH v4 11/14] tools/lib/lockdep: switch to using lockdep_init_map_waits
Date: Tue, 4 Aug 2020 20:10:40 -0400 [thread overview]
Message-ID: <20200805001043.3331907-12-sashal@kernel.org> (raw)
In-Reply-To: <20200805001043.3331907-1-sashal@kernel.org>
As of de8f5e4f2dc1 ("lockdep: Introduce wait-type checks") lockdep
exports lockdep_init_map_waits() instead of lockdep_init_map() for
initialization.
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
tools/include/linux/kernel.h | 2 ++
tools/include/linux/lockdep.h | 1 +
tools/lib/lockdep/include/liblockdep/common.h | 4 ++--
tools/lib/lockdep/include/liblockdep/mutex.h | 2 +-
tools/lib/lockdep/include/liblockdep/rwlock.h | 2 +-
tools/lib/lockdep/preload.c | 2 +-
6 files changed, 8 insertions(+), 5 deletions(-)
diff --git a/tools/include/linux/kernel.h b/tools/include/linux/kernel.h
index 902d3b9ab4c17..5ac493eef4237 100644
--- a/tools/include/linux/kernel.h
+++ b/tools/include/linux/kernel.h
@@ -124,4 +124,6 @@ static __maybe_unused int system_state;
#define rcu_read_lock()
#define rcu_read_unlock()
+#define in_nmi() 0
+
#endif
diff --git a/tools/include/linux/lockdep.h b/tools/include/linux/lockdep.h
index 3a9924d6d3ae8..4e5f31f28ca3e 100644
--- a/tools/include/linux/lockdep.h
+++ b/tools/include/linux/lockdep.h
@@ -34,6 +34,7 @@ struct task_struct {
int pid;
int state;
int softirqs_enabled, hardirqs_enabled, softirqs_disabled, hardirqs_disabled, irq_events;
+ int hardirq_threaded, irq_config;
unsigned long softirq_disable_ip, softirq_enable_ip;
unsigned int softirq_disable_event, softirq_enable_event;
unsigned long hardirq_disable_ip, hardirq_enable_ip;
diff --git a/tools/lib/lockdep/include/liblockdep/common.h b/tools/lib/lockdep/include/liblockdep/common.h
index a6d7ee5f18ba9..5f698671f45c2 100644
--- a/tools/lib/lockdep/include/liblockdep/common.h
+++ b/tools/lib/lockdep/include/liblockdep/common.h
@@ -37,8 +37,8 @@ struct lockdep_map {
#endif
};
-void lockdep_init_map(struct lockdep_map *lock, const char *name,
- struct lock_class_key *key, int subclass);
+void lockdep_init_map_waits(struct lockdep_map *lock, const char *name,
+ struct lock_class_key *key, int subclass, short inner, short outer);
void lock_acquire(struct lockdep_map *lock, unsigned int subclass,
int trylock, int read, int check,
struct lockdep_map *nest_lock, unsigned long ip);
diff --git a/tools/lib/lockdep/include/liblockdep/mutex.h b/tools/lib/lockdep/include/liblockdep/mutex.h
index bd106b82759b7..6106fc73da687 100644
--- a/tools/lib/lockdep/include/liblockdep/mutex.h
+++ b/tools/lib/lockdep/include/liblockdep/mutex.h
@@ -24,7 +24,7 @@ static inline int __mutex_init(liblockdep_pthread_mutex_t *lock,
struct lock_class_key *key,
const pthread_mutexattr_t *__mutexattr)
{
- lockdep_init_map(&lock->dep_map, name, key, 0);
+ lockdep_init_map_waits(&lock->dep_map, name, key, 0, 0, 0);
return pthread_mutex_init(&lock->mutex, __mutexattr);
}
diff --git a/tools/lib/lockdep/include/liblockdep/rwlock.h b/tools/lib/lockdep/include/liblockdep/rwlock.h
index 6d5d2932bf4d9..222748d04219d 100644
--- a/tools/lib/lockdep/include/liblockdep/rwlock.h
+++ b/tools/lib/lockdep/include/liblockdep/rwlock.h
@@ -23,7 +23,7 @@ static inline int __rwlock_init(liblockdep_pthread_rwlock_t *lock,
struct lock_class_key *key,
const pthread_rwlockattr_t *attr)
{
- lockdep_init_map(&lock->dep_map, name, key, 0);
+ lockdep_init_map_waits(&lock->dep_map, name, key, 0, 0, 0);
return pthread_rwlock_init(&lock->rwlock, attr);
}
diff --git a/tools/lib/lockdep/preload.c b/tools/lib/lockdep/preload.c
index 578fdeda9422c..5bd58c51066c4 100644
--- a/tools/lib/lockdep/preload.c
+++ b/tools/lib/lockdep/preload.c
@@ -199,7 +199,7 @@ static struct lock_lookup *__get_lock(void *lock)
* TODO: Get the real name of the lock using libdwarf
*/
sprintf(l->name, "%p", lock);
- lockdep_init_map(&l->dep_map, l->name, &l->key, 0);
+// lockdep_init_map_waits(&l->dep_map, l->name, &l->key, 0, 0, 0);
ll_pthread_rwlock_wrlock(&locks_rwlock);
/* This might have changed since the last time we fetched it */
--
2.25.1
next prev parent reply other threads:[~2020-08-05 0:11 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-08-05 0:10 [PATCH v4 00/14] liblockdep fixes for 5.9-rc1 Sasha Levin
2020-08-05 0:10 ` [PATCH v4 01/14] tools headers: Add kprobes.h header Sasha Levin
2020-08-05 0:10 ` [PATCH v4 02/14] tools headers: Add rcupdate.h header Sasha Levin
2020-08-05 0:10 ` [PATCH v4 03/14] tools/kernel.h: extend with dummy RCU functions Sasha Levin
2020-08-05 0:10 ` [PATCH v4 04/14] tools bitmap: add bitmap_andnot definition Sasha Levin
2020-08-05 0:10 ` [PATCH v4 05/14] tools/lib/lockdep: add definition required for IRQ flag tracing Sasha Levin
2020-08-05 0:10 ` [PATCH v4 06/14] tools bitmap: add bitmap_clear definition Sasha Levin
2020-08-05 0:10 ` [PATCH v4 07/14] tools/lib/lockdep: Hook up vsprintf, find_bit, hweight libraries Sasha Levin
2020-08-05 0:10 ` [PATCH v4 08/14] tools/lib/lockdep: Enable building with CONFIG_TRACE_IRQFLAGS Sasha Levin
2020-08-05 0:10 ` [PATCH v4 09/14] tools/lib/lockdep: New stacktrace API Sasha Levin
2020-08-05 0:10 ` [PATCH v4 10/14] tools/lib/lockdep: call lockdep_init_task on init Sasha Levin
2020-08-05 0:10 ` Sasha Levin [this message]
2020-08-05 0:10 ` [PATCH v4 12/14] tools/kernel.h: hide noinstr Sasha Levin
2020-08-05 0:10 ` [PATCH v4 13/14] tools/lib/lockdep: explicitly declare lockdep_init_task() Sasha Levin
2020-08-05 0:10 ` [PATCH v4 14/14] tools/kernel.h: hide task_struct.hardirq_chain_key Sasha Levin
2020-08-06 8:09 ` [PATCH v4 00/14] liblockdep fixes for 5.9-rc1 Ingo Molnar
2020-08-07 22:25 ` Sasha Levin
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=20200805001043.3331907-12-sashal@kernel.org \
--to=sashal@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=peterz@infradead.org \
--cc=torvalds@linux-foundation.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;
as well as URLs for NNTP newsgroup(s).