locking/lockdep: Remove cross-release leftovers
There's two cross-release leftover facilities: - the crossrelease_hist_*() irq-tracing callbacks (NOPs currently) - the complete_release_commit() callback (NOP as well) Remove them. Cc: David Sterba <dsterba@suse.com> Cc: Byungchul Park <byungchul.park@lge.com> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: linux-kernel@vger.kernel.org Signed-off-by: Ingo Molnar <mingo@kernel.org>
This commit is contained in:
Родитель
dba04eb76d
Коммит
527187d285
|
@ -32,7 +32,6 @@ struct completion {
|
||||||
#define init_completion(x) __init_completion(x)
|
#define init_completion(x) __init_completion(x)
|
||||||
static inline void complete_acquire(struct completion *x) {}
|
static inline void complete_acquire(struct completion *x) {}
|
||||||
static inline void complete_release(struct completion *x) {}
|
static inline void complete_release(struct completion *x) {}
|
||||||
static inline void complete_release_commit(struct completion *x) {}
|
|
||||||
|
|
||||||
#define COMPLETION_INITIALIZER(work) \
|
#define COMPLETION_INITIALIZER(work) \
|
||||||
{ 0, __WAIT_QUEUE_HEAD_INITIALIZER((work).wait) }
|
{ 0, __WAIT_QUEUE_HEAD_INITIALIZER((work).wait) }
|
||||||
|
|
|
@ -27,22 +27,18 @@
|
||||||
# define trace_hardirq_enter() \
|
# define trace_hardirq_enter() \
|
||||||
do { \
|
do { \
|
||||||
current->hardirq_context++; \
|
current->hardirq_context++; \
|
||||||
crossrelease_hist_start(XHLOCK_HARD); \
|
|
||||||
} while (0)
|
} while (0)
|
||||||
# define trace_hardirq_exit() \
|
# define trace_hardirq_exit() \
|
||||||
do { \
|
do { \
|
||||||
current->hardirq_context--; \
|
current->hardirq_context--; \
|
||||||
crossrelease_hist_end(XHLOCK_HARD); \
|
|
||||||
} while (0)
|
} while (0)
|
||||||
# define lockdep_softirq_enter() \
|
# define lockdep_softirq_enter() \
|
||||||
do { \
|
do { \
|
||||||
current->softirq_context++; \
|
current->softirq_context++; \
|
||||||
crossrelease_hist_start(XHLOCK_SOFT); \
|
|
||||||
} while (0)
|
} while (0)
|
||||||
# define lockdep_softirq_exit() \
|
# define lockdep_softirq_exit() \
|
||||||
do { \
|
do { \
|
||||||
current->softirq_context--; \
|
current->softirq_context--; \
|
||||||
crossrelease_hist_end(XHLOCK_SOFT); \
|
|
||||||
} while (0)
|
} while (0)
|
||||||
# define INIT_TRACE_IRQFLAGS .softirqs_enabled = 1,
|
# define INIT_TRACE_IRQFLAGS .softirqs_enabled = 1,
|
||||||
#else
|
#else
|
||||||
|
|
|
@ -475,8 +475,6 @@ enum xhlock_context_t {
|
||||||
#define STATIC_LOCKDEP_MAP_INIT(_name, _key) \
|
#define STATIC_LOCKDEP_MAP_INIT(_name, _key) \
|
||||||
{ .name = (_name), .key = (void *)(_key), }
|
{ .name = (_name), .key = (void *)(_key), }
|
||||||
|
|
||||||
static inline void crossrelease_hist_start(enum xhlock_context_t c) {}
|
|
||||||
static inline void crossrelease_hist_end(enum xhlock_context_t c) {}
|
|
||||||
static inline void lockdep_invariant_state(bool force) {}
|
static inline void lockdep_invariant_state(bool force) {}
|
||||||
static inline void lockdep_init_task(struct task_struct *task) {}
|
static inline void lockdep_init_task(struct task_struct *task) {}
|
||||||
static inline void lockdep_free_task(struct task_struct *task) {}
|
static inline void lockdep_free_task(struct task_struct *task) {}
|
||||||
|
|
|
@ -34,11 +34,6 @@ void complete(struct completion *x)
|
||||||
|
|
||||||
spin_lock_irqsave(&x->wait.lock, flags);
|
spin_lock_irqsave(&x->wait.lock, flags);
|
||||||
|
|
||||||
/*
|
|
||||||
* Perform commit of crossrelease here.
|
|
||||||
*/
|
|
||||||
complete_release_commit(x);
|
|
||||||
|
|
||||||
if (x->done != UINT_MAX)
|
if (x->done != UINT_MAX)
|
||||||
x->done++;
|
x->done++;
|
||||||
__wake_up_locked(&x->wait, TASK_NORMAL, 1);
|
__wake_up_locked(&x->wait, TASK_NORMAL, 1);
|
||||||
|
|
Загрузка…
Ссылка в новой задаче