Messages in this thread Patch in this message | | | Date | Mon, 29 Mar 2021 00:15:16 -0700 | From | Nikitas Angelinas <> | Subject | [PATCH] locking/mutex: initialize osq lock in __MUTEX_INITIALIZER() |
| |
Since __MUTEX_INITIALIZER() is used on memory that is initialized to 0 anyway this change should not have an effect, but it seems better to initialize osq explicitly for completeness, as done in other macros and functions that initialize mutex and rwsem.
Signed-off-by: Nikitas Angelinas <nikitas.angelinas@gmail.com> --- include/linux/mutex.h | 8 ++++++++ 1 file changed, 8 insertions(+)
diff --git a/include/linux/mutex.h b/include/linux/mutex.h index 515cff7..bff47f8 100644 --- a/include/linux/mutex.h +++ b/include/linux/mutex.h @@ -129,10 +129,18 @@ do { \ # define __DEP_MAP_MUTEX_INITIALIZER(lockname) #endif +#ifdef CONFIG_MUTEX_SPIN_ON_OWNER +# define __OSQ_MUTEX_INITIALIZER(lockname) \ + , .osq = OSQ_LOCK_UNLOCKED +#else +# define __OSQ_MUTEX_INITIALIZER(lockname) +#endif + #define __MUTEX_INITIALIZER(lockname) \ { .owner = ATOMIC_LONG_INIT(0) \ , .wait_lock = __SPIN_LOCK_UNLOCKED(lockname.wait_lock) \ , .wait_list = LIST_HEAD_INIT(lockname.wait_list) \ + __OSQ_MUTEX_INITIALIZER(lockname) \ __DEBUG_MUTEX_INITIALIZER(lockname) \ __DEP_MAP_MUTEX_INITIALIZER(lockname) } -- 2.10.0
| |