diff options
| -rw-r--r-- | Documentation/admin-guide/kernel-parameters.txt | 3 | ||||
| -rw-r--r-- | arch/x86/Kconfig | 1 | ||||
| -rw-r--r-- | include/linux/completion.h | 1 | ||||
| -rw-r--r-- | include/linux/irqflags.h | 4 | ||||
| -rw-r--r-- | include/linux/lockdep.h | 2 | ||||
| -rw-r--r-- | kernel/sched/completion.c | 5 |
6 files changed, 0 insertions, 16 deletions
diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt index af7104aaffd9..a626465dd877 100644 --- a/Documentation/admin-guide/kernel-parameters.txt +++ b/Documentation/admin-guide/kernel-parameters.txt | |||
| @@ -713,9 +713,6 @@ | |||
| 713 | It will be ignored when crashkernel=X,high is not used | 713 | It will be ignored when crashkernel=X,high is not used |
| 714 | or memory reserved is below 4G. | 714 | or memory reserved is below 4G. |
| 715 | 715 | ||
| 716 | crossrelease_fullstack | ||
| 717 | [KNL] Allow to record full stack trace in cross-release | ||
| 718 | |||
| 719 | cryptomgr.notests | 716 | cryptomgr.notests |
| 720 | [KNL] Disable crypto self-tests | 717 | [KNL] Disable crypto self-tests |
| 721 | 718 | ||
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig index d4fc98c50378..ff4e9cd99854 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig | |||
| @@ -55,7 +55,6 @@ config X86 | |||
| 55 | select ARCH_HAS_GCOV_PROFILE_ALL | 55 | select ARCH_HAS_GCOV_PROFILE_ALL |
| 56 | select ARCH_HAS_KCOV if X86_64 | 56 | select ARCH_HAS_KCOV if X86_64 |
| 57 | select ARCH_HAS_PMEM_API if X86_64 | 57 | select ARCH_HAS_PMEM_API if X86_64 |
| 58 | # Causing hangs/crashes, see the commit that added this change for details. | ||
| 59 | select ARCH_HAS_REFCOUNT | 58 | select ARCH_HAS_REFCOUNT |
| 60 | select ARCH_HAS_UACCESS_FLUSHCACHE if X86_64 | 59 | select ARCH_HAS_UACCESS_FLUSHCACHE if X86_64 |
| 61 | select ARCH_HAS_SET_MEMORY | 60 | select ARCH_HAS_SET_MEMORY |
diff --git a/include/linux/completion.h b/include/linux/completion.h index 94a59ba7d422..519e94915d18 100644 --- a/include/linux/completion.h +++ b/include/linux/completion.h | |||
| @@ -32,7 +32,6 @@ struct completion { | |||
| 32 | #define init_completion(x) __init_completion(x) | 32 | #define init_completion(x) __init_completion(x) |
| 33 | static inline void complete_acquire(struct completion *x) {} | 33 | static inline void complete_acquire(struct completion *x) {} |
| 34 | static inline void complete_release(struct completion *x) {} | 34 | static inline void complete_release(struct completion *x) {} |
| 35 | static inline void complete_release_commit(struct completion *x) {} | ||
| 36 | 35 | ||
| 37 | #define COMPLETION_INITIALIZER(work) \ | 36 | #define COMPLETION_INITIALIZER(work) \ |
| 38 | { 0, __WAIT_QUEUE_HEAD_INITIALIZER((work).wait) } | 37 | { 0, __WAIT_QUEUE_HEAD_INITIALIZER((work).wait) } |
diff --git a/include/linux/irqflags.h b/include/linux/irqflags.h index 46cb57d5eb13..1b3996ff3f16 100644 --- a/include/linux/irqflags.h +++ b/include/linux/irqflags.h | |||
| @@ -27,22 +27,18 @@ | |||
| 27 | # define trace_hardirq_enter() \ | 27 | # define trace_hardirq_enter() \ |
| 28 | do { \ | 28 | do { \ |
| 29 | current->hardirq_context++; \ | 29 | current->hardirq_context++; \ |
| 30 | crossrelease_hist_start(XHLOCK_HARD); \ | ||
| 31 | } while (0) | 30 | } while (0) |
| 32 | # define trace_hardirq_exit() \ | 31 | # define trace_hardirq_exit() \ |
| 33 | do { \ | 32 | do { \ |
| 34 | current->hardirq_context--; \ | 33 | current->hardirq_context--; \ |
| 35 | crossrelease_hist_end(XHLOCK_HARD); \ | ||
| 36 | } while (0) | 34 | } while (0) |
| 37 | # define lockdep_softirq_enter() \ | 35 | # define lockdep_softirq_enter() \ |
| 38 | do { \ | 36 | do { \ |
| 39 | current->softirq_context++; \ | 37 | current->softirq_context++; \ |
| 40 | crossrelease_hist_start(XHLOCK_SOFT); \ | ||
| 41 | } while (0) | 38 | } while (0) |
| 42 | # define lockdep_softirq_exit() \ | 39 | # define lockdep_softirq_exit() \ |
| 43 | do { \ | 40 | do { \ |
| 44 | current->softirq_context--; \ | 41 | current->softirq_context--; \ |
| 45 | crossrelease_hist_end(XHLOCK_SOFT); \ | ||
| 46 | } while (0) | 42 | } while (0) |
| 47 | # define INIT_TRACE_IRQFLAGS .softirqs_enabled = 1, | 43 | # define INIT_TRACE_IRQFLAGS .softirqs_enabled = 1, |
| 48 | #else | 44 | #else |
diff --git a/include/linux/lockdep.h b/include/linux/lockdep.h index 2e75dc34bff5..3251d9c0d313 100644 --- a/include/linux/lockdep.h +++ b/include/linux/lockdep.h | |||
| @@ -475,8 +475,6 @@ enum xhlock_context_t { | |||
| 475 | #define STATIC_LOCKDEP_MAP_INIT(_name, _key) \ | 475 | #define STATIC_LOCKDEP_MAP_INIT(_name, _key) \ |
| 476 | { .name = (_name), .key = (void *)(_key), } | 476 | { .name = (_name), .key = (void *)(_key), } |
| 477 | 477 | ||
| 478 | static inline void crossrelease_hist_start(enum xhlock_context_t c) {} | ||
| 479 | static inline void crossrelease_hist_end(enum xhlock_context_t c) {} | ||
| 480 | static inline void lockdep_invariant_state(bool force) {} | 478 | static inline void lockdep_invariant_state(bool force) {} |
| 481 | static inline void lockdep_init_task(struct task_struct *task) {} | 479 | static inline void lockdep_init_task(struct task_struct *task) {} |
| 482 | static inline void lockdep_free_task(struct task_struct *task) {} | 480 | static inline void lockdep_free_task(struct task_struct *task) {} |
diff --git a/kernel/sched/completion.c b/kernel/sched/completion.c index 2ddaec40956f..0926aef10dad 100644 --- a/kernel/sched/completion.c +++ b/kernel/sched/completion.c | |||
| @@ -34,11 +34,6 @@ void complete(struct completion *x) | |||
| 34 | 34 | ||
| 35 | spin_lock_irqsave(&x->wait.lock, flags); | 35 | spin_lock_irqsave(&x->wait.lock, flags); |
| 36 | 36 | ||
| 37 | /* | ||
| 38 | * Perform commit of crossrelease here. | ||
| 39 | */ | ||
| 40 | complete_release_commit(x); | ||
| 41 | |||
| 42 | if (x->done != UINT_MAX) | 37 | if (x->done != UINT_MAX) |
| 43 | x->done++; | 38 | x->done++; |
| 44 | __wake_up_locked(&x->wait, TASK_NORMAL, 1); | 39 | __wake_up_locked(&x->wait, TASK_NORMAL, 1); |
