summaryrefslogtreecommitdiff
path: root/patches/printk-kill.patch
diff options
context:
space:
mode:
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();