summaryrefslogtreecommitdiff
path: root/patches/printk-kill.patch
diff options
context:
space:
mode:
authorSebastian Andrzej Siewior <bigeasy@linutronix.de>2017-06-16 12:33:25 +0200
committerSebastian Andrzej Siewior <bigeasy@linutronix.de>2017-06-16 12:33:25 +0200
commit62225af26cb9575945c764c73d73be4360532ec5 (patch)
tree9b320f25074befa6ece5d5887287219fe204e74f /patches/printk-kill.patch
parente435c24ff8bc5e5ba909c337419b0bcd9e61de55 (diff)
downloadlinux-rt-62225af26cb9575945c764c73d73be4360532ec5.tar.gz
[ANNOUNCE] v4.11.5-rt1v4.11.5-rt1-patches
Dear RT folks! I'm pleased to announce the v4.11.5-rt1 patch set. The release has been delayed due to the hotplug rework that was started before the final v4.11 release. However the new code has not been stabilized yet and it was decided to bring back the old patches before delaying the v4.11-RT release any longer. We will try to complete the hotplug rework (for RT) in the v4.11 cycle. Changes since v4.9.39-rt21: - rebase to v4.11.5 Known issues - CPU hotplug got a little better but can deadlock. You can get this release via the git tree at: git://git.kernel.org/pub/scm/linux/kernel/git/rt/linux-rt-devel.git v4.11.5-rt1 The RT patch against v4.11.5 can be found here: https://cdn.kernel.org/pub/linux/kernel/projects/rt/4.11/older/patch-4.11.5-rt1.patch.xz The split quilt queue is available at: https://cdn.kernel.org/pub/linux/kernel/projects/rt/4.11/older/patches-4.11.5-rt1.tar.xz Sebastian Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Diffstat (limited to 'patches/printk-kill.patch')
-rw-r--r--patches/printk-kill.patch43
1 files changed, 21 insertions, 22 deletions
diff --git a/patches/printk-kill.patch b/patches/printk-kill.patch
index d5d24ac94162..3d82464f730d 100644
--- a/patches/printk-kill.patch
+++ b/patches/printk-kill.patch
@@ -9,12 +9,12 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
---
include/linux/printk.h | 2 +
kernel/printk/printk.c | 79 ++++++++++++++++++++++++++++++++++++-------------
- kernel/watchdog.c | 10 ++++++
- 3 files changed, 71 insertions(+), 20 deletions(-)
+ kernel/watchdog_hld.c | 9 +++++
+ 3 files changed, 70 insertions(+), 20 deletions(-)
--- a/include/linux/printk.h
+++ b/include/linux/printk.h
-@@ -126,9 +126,11 @@ struct va_format {
+@@ -141,9 +141,11 @@ struct va_format {
#ifdef CONFIG_EARLY_PRINTK
extern asmlinkage __printf(1, 2)
void early_printk(const char *fmt, ...);
@@ -28,9 +28,9 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
#ifdef CONFIG_PRINTK_NMI
--- a/kernel/printk/printk.c
+++ b/kernel/printk/printk.c
-@@ -351,6 +351,58 @@ struct printk_log {
- */
- DEFINE_RAW_SPINLOCK(logbuf_lock);
+@@ -401,6 +401,58 @@ DEFINE_RAW_SPINLOCK(logbuf_lock);
+ printk_safe_exit_irqrestore(flags); \
+ } while (0)
+#ifdef CONFIG_EARLY_PRINTK
+struct console *early_console;
@@ -87,9 +87,9 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
#ifdef CONFIG_PRINTK
DECLARE_WAIT_QUEUE_HEAD(log_wait);
/* the next printk record to read by syslog(READ) or /proc/kmsg */
-@@ -1781,6 +1833,13 @@ asmlinkage int vprintk_emit(int facility
- /* cpu currently holding logbuf_lock in this function */
- static unsigned int logbuf_cpu = UINT_MAX;
+@@ -1705,6 +1757,13 @@ asmlinkage int vprintk_emit(int facility
+ int printed_len = 0;
+ bool in_sched = false;
+ /*
+ * Fall back to early_printk if a debugging subsystem has
@@ -101,7 +101,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
if (level == LOGLEVEL_SCHED) {
level = LOGLEVEL_DEFAULT;
in_sched = true;
-@@ -2014,26 +2073,6 @@ DEFINE_PER_CPU(printk_func_t, printk_fun
+@@ -1876,26 +1935,6 @@ static bool suppress_message_printing(in
#endif /* CONFIG_PRINTK */
@@ -128,18 +128,17 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
static int __add_preferred_console(char *name, int idx, char *options,
char *brl_options)
{
---- a/kernel/watchdog.c
-+++ b/kernel/watchdog.c
-@@ -315,6 +315,8 @@ static int is_softlockup(unsigned long t
-
- #ifdef CONFIG_HARDLOCKUP_DETECTOR
-
+--- a/kernel/watchdog_hld.c
++++ b/kernel/watchdog_hld.c
+@@ -21,6 +21,7 @@
+ static DEFINE_PER_CPU(bool, hard_watchdog_warn);
+ static DEFINE_PER_CPU(bool, watchdog_nmi_touch);
+ static DEFINE_PER_CPU(struct perf_event *, watchdog_ev);
+static DEFINE_RAW_SPINLOCK(watchdog_output_lock);
-+
- static struct perf_event_attr wd_hw_attr = {
- .type = PERF_TYPE_HARDWARE,
- .config = PERF_COUNT_HW_CPU_CYCLES,
-@@ -348,6 +350,13 @@ static void watchdog_overflow_callback(s
+
+ /* boot commands */
+ /*
+@@ -106,6 +107,13 @@ static void watchdog_overflow_callback(s
/* only print hardlockups once */
if (__this_cpu_read(hard_watchdog_warn) == true)
return;
@@ -153,7 +152,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
pr_emerg("Watchdog detected hard LOCKUP on cpu %d", this_cpu);
print_modules();
-@@ -365,6 +374,7 @@ static void watchdog_overflow_callback(s
+@@ -123,6 +131,7 @@ static void watchdog_overflow_callback(s
!test_and_set_bit(0, &hardlockup_allcpu_dumped))
trigger_allbutself_cpu_backtrace();