Commit e57d1430 authored by Peter Zijlstra's avatar Peter Zijlstra
Browse files

mutex: Fix up mutex_waiter usage



The patch moving bits into mutex.c was a little too much; by also
moving struct mutex_waiter a few less common CONFIGs would no longer
build.

Fixes: 5f35d5a6 ("locking/mutex: Make __mutex_owner static to mutex.c")
Signed-off-by: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
parent a037d269
Loading
Loading
Loading
Loading
+13 −0
Original line number Diff line number Diff line
@@ -65,6 +65,19 @@ struct mutex {
#endif
};

/*
 * This is the control structure for tasks blocked on mutex,
 * which resides on the blocked task's kernel stack:
 */
struct mutex_waiter {
	struct list_head	list;
	struct task_struct	*task;
	struct ww_acquire_ctx	*ww_ctx;
#ifdef CONFIG_DEBUG_MUTEXES
	void			*magic;
#endif
};

#ifdef CONFIG_DEBUG_MUTEXES

#define __DEBUG_MUTEX_INITIALIZER(lockname)				\
+0 −13
Original line number Diff line number Diff line
@@ -36,19 +36,6 @@
# include "mutex.h"
#endif

/*
 * This is the control structure for tasks blocked on mutex,
 * which resides on the blocked task's kernel stack:
 */
struct mutex_waiter {
	struct list_head	list;
	struct task_struct	*task;
	struct ww_acquire_ctx	*ww_ctx;
#ifdef CONFIG_DEBUG_MUTEXES
	void			*magic;
#endif
};

void
__mutex_init(struct mutex *lock, const char *name, struct lock_class_key *key)
{
+0 −2
Original line number Diff line number Diff line
@@ -19,8 +19,6 @@
#define debug_mutex_unlock(lock)			do { } while (0)
#define debug_mutex_init(lock, name, key)		do { } while (0)

struct mutex_waiter;

static inline void
debug_mutex_lock_common(struct mutex *lock, struct mutex_waiter *waiter)
{