diff options
Diffstat (limited to 'patches/printk-kill.patch')
-rw-r--r-- | patches/printk-kill.patch | 43 |
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(); |