Commit 02776b9b authored by Linus Torvalds's avatar Linus Torvalds

Merge branch 'locking-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull locking fixes from Ingo Molnar:
 "No functional effects intended: removes leftovers from recent lockdep
  and refcounts work"

* 'locking-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  locking/refcounts: Remove stale comment from the ARCH_HAS_REFCOUNT Kconfig entry
  locking/lockdep: Remove cross-release leftovers
  locking/Documentation: Remove stale crossrelease_fullstack parameter
parents aefd1404 f328299e
...@@ -713,9 +713,6 @@ ...@@ -713,9 +713,6 @@
It will be ignored when crashkernel=X,high is not used It will be ignored when crashkernel=X,high is not used
or memory reserved is below 4G. or memory reserved is below 4G.
crossrelease_fullstack
[KNL] Allow to record full stack trace in cross-release
cryptomgr.notests cryptomgr.notests
[KNL] Disable crypto self-tests [KNL] Disable crypto self-tests
......
...@@ -55,7 +55,6 @@ config X86 ...@@ -55,7 +55,6 @@ config X86
select ARCH_HAS_GCOV_PROFILE_ALL select ARCH_HAS_GCOV_PROFILE_ALL
select ARCH_HAS_KCOV if X86_64 select ARCH_HAS_KCOV if X86_64
select ARCH_HAS_PMEM_API if X86_64 select ARCH_HAS_PMEM_API if X86_64
# Causing hangs/crashes, see the commit that added this change for details.
select ARCH_HAS_REFCOUNT select ARCH_HAS_REFCOUNT
select ARCH_HAS_UACCESS_FLUSHCACHE if X86_64 select ARCH_HAS_UACCESS_FLUSHCACHE if X86_64
select ARCH_HAS_SET_MEMORY select ARCH_HAS_SET_MEMORY
......
...@@ -32,7 +32,6 @@ struct completion { ...@@ -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 @@ ...@@ -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 { ...@@ -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) ...@@ -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);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment