diff options
author | Jerome Forissier <jerome.forissier@linaro.org> | 2018-10-15 16:43:03 +0200 |
---|---|---|
committer | Jérôme Forissier <jerome.forissier@linaro.org> | 2018-11-08 14:07:18 +0100 |
commit | ab0df69e196a97ebcc605f655a24f4c3bc8bb053 (patch) | |
tree | eef2820d379e553c889cb88036f20c797525e57b /core/include | |
parent | 447633dec8473deaef67e51572aa88c54d5bfd0d (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.h | 6 |
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 */ |