aboutsummaryrefslogtreecommitdiff
path: root/core/include
diff options
context:
space:
mode:
authorJerome Forissier <jerome.forissier@linaro.org>2018-10-15 16:43:03 +0200
committerJérôme Forissier <jerome.forissier@linaro.org>2018-11-08 14:07:18 +0100
commitab0df69e196a97ebcc605f655a24f4c3bc8bb053 (patch)
treeeef2820d379e553c889cb88036f20c797525e57b /core/include
parent447633dec8473deaef67e51572aa88c54d5bfd0d (diff)
core: instrument mutexes with lockdep
Implements lockdep hooks for mutexes. CFG_LOCKDEP is disabled by default, because it causes a noticeable slowdown (plain xtest runs 2-4x slower). Tested-by: Jerome Forissier <jerome.forissier@linaro.org> (QEMU, HiKey960) Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Joakim Bech <joakim.bech@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
Diffstat (limited to 'core/include')
-rw-r--r--core/include/kernel/lockdep.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/core/include/kernel/lockdep.h b/core/include/kernel/lockdep.h
index 4f2b440a..59d9e24c 100644
--- a/core/include/kernel/lockdep.h
+++ b/core/include/kernel/lockdep.h
@@ -103,6 +103,9 @@ static inline void lockdep_lock_release(struct lockdep_lock_head *owned,
}
}
+/* Initialize lockdep for mutex objects (kernel/mutex.h) */
+void mutex_lockdep_init(void);
+
#else /* CFG_LOCKDEP */
static inline void lockdep_lock_acquire(struct lockdep_node_head *g __unused,
@@ -114,6 +117,9 @@ static inline void lockdep_lock_release(struct lockdep_lock_head *o __unused,
uintptr_t id __unused)
{}
+static inline void mutex_lockdep_init(void)
+{}
+
#endif /* !CFG_LOCKDEP */
#endif /* !__KERNEL_LOCKDEP_H */