There exist a place where we use hard code value for mutex flag(e.g in mutex.h __mutex_owner()). Let's move the mutex flag macros to header linux/mutex.h, so that it could be reused at other places as well.
Signed-off-by: Mukesh Ojha <mo...@codeaurora.org> --- include/linux/mutex.h | 15 +++++++++++++++ kernel/locking/mutex.c | 15 --------------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/include/linux/mutex.h b/include/linux/mutex.h index dcd03fe..79b28be 100644 --- a/include/linux/mutex.h +++ b/include/linux/mutex.h @@ -20,6 +20,21 @@ #include <linux/osq_lock.h> #include <linux/debug_locks.h> +/* + * @owner: contains: 'struct task_struct *' to the current lock owner, + * NULL means not owned. Since task_struct pointers are aligned at + * at least L1_CACHE_BYTES, we have low bits to store extra state. + * + * Bit0 indicates a non-empty waiter list; unlock must issue a wakeup. + * Bit1 indicates unlock needs to hand the lock to the top-waiter + * Bit2 indicates handoff has been done and we're waiting for pickup. + */ +#define MUTEX_FLAG_WAITERS 0x01 +#define MUTEX_FLAG_HANDOFF 0x02 +#define MUTEX_FLAG_PICKUP 0x04 + +#define MUTEX_FLAGS 0x07 + struct ww_acquire_ctx; /* diff --git a/kernel/locking/mutex.c b/kernel/locking/mutex.c index 5e06973..b74c87d 100644 --- a/kernel/locking/mutex.c +++ b/kernel/locking/mutex.c @@ -50,21 +50,6 @@ } EXPORT_SYMBOL(__mutex_init); -/* - * @owner: contains: 'struct task_struct *' to the current lock owner, - * NULL means not owned. Since task_struct pointers are aligned at - * at least L1_CACHE_BYTES, we have low bits to store extra state. - * - * Bit0 indicates a non-empty waiter list; unlock must issue a wakeup. - * Bit1 indicates unlock needs to hand the lock to the top-waiter - * Bit2 indicates handoff has been done and we're waiting for pickup. - */ -#define MUTEX_FLAG_WAITERS 0x01 -#define MUTEX_FLAG_HANDOFF 0x02 -#define MUTEX_FLAG_PICKUP 0x04 - -#define MUTEX_FLAGS 0x07 - static inline struct task_struct *__owner_task(unsigned long owner) { return (struct task_struct *)(owner & ~MUTEX_FLAGS); -- Qualcomm India Private Limited, on behalf of Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project