diff options
author | Sebastian Andrzej Siewior <bigeasy@linutronix.de> | 2021-11-29 10:30:53 +0100 |
---|---|---|
committer | Sebastian Andrzej Siewior <bigeasy@linutronix.de> | 2021-11-29 10:30:53 +0100 |
commit | 6d0554e8fba416e2b0a5775fc0e4ca68d88e0a5b (patch) | |
tree | 3b0f8540c7bbdfeb027a0ef388578c73f42324e5 | |
parent | 384ae056f55dfe0ff63314582b9f51aafe7ee82a (diff) | |
download | linux-rt-5.15.5-rt22-patches.tar.gz |
[ANNOUNCE] v5.15.5-rt22v5.15.5-rt22-patches
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
-rw-r--r-- | patches/Add_localversion_for_-RT_release.patch | 2 | ||||
-rw-r--r-- | patches/printk__move_console_printing_to_kthreads.patch | 48 | ||||
-rw-r--r-- | patches/printk__remove_deferred_printing.patch | 17 |
3 files changed, 39 insertions, 28 deletions
diff --git a/patches/Add_localversion_for_-RT_release.patch b/patches/Add_localversion_for_-RT_release.patch index 9af2dba5eb42..127c7efdc247 100644 --- a/patches/Add_localversion_for_-RT_release.patch +++ b/patches/Add_localversion_for_-RT_release.patch @@ -15,4 +15,4 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de> --- /dev/null +++ b/localversion-rt @@ -0,0 +1 @@ -+-rt21 ++-rt22 diff --git a/patches/printk__move_console_printing_to_kthreads.patch b/patches/printk__move_console_printing_to_kthreads.patch index 3d095e258f4f..6d57268fa751 100644 --- a/patches/printk__move_console_printing_to_kthreads.patch +++ b/patches/printk__move_console_printing_to_kthreads.patch @@ -17,8 +17,8 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de> --- include/linux/console.h | 13 - kernel/printk/printk.c | 715 ++++++++++++++---------------------------------- - 2 files changed, 236 insertions(+), 492 deletions(-) + kernel/printk/printk.c | 717 ++++++++++++++---------------------------------- + 2 files changed, 237 insertions(+), 493 deletions(-) --- --- a/include/linux/console.h +++ b/include/linux/console.h @@ -497,17 +497,27 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de> + seq = read_console_seq(con); + + prb_rec_init_rd(&r, &info, text, LOG_LINE_MAX + PREFIX_MAX); -+ + +-#define printk_time false + for (;;) { + error = wait_event_interruptible(log_wait, + prb_read_valid(prb, seq, &r) || kthread_should_stop()); -+ + +-#define prb_read_valid(rb, seq, r) false +-#define prb_first_valid_seq(rb) 0 +-#define read_console_seq() 0 +-#define latched_seq_write(dst, src) +-#define kernel_sync_mode() false + if (kthread_should_stop()) + break; -+ + +-static u64 exclusive_console_stop_seq; +-static unsigned long console_dropped; + if (error) + continue; -+ + +-static size_t record_print_text(const struct printk_record *r, +- bool syslog, bool time) + if (seq != r.info->seq) { + dropped += r.info->seq - seq; + seq = r.info->seq; @@ -520,8 +530,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de> + + if (suppress_message_printing(r.info->level)) + continue; - --#define printk_time false ++ + if (con->flags & CON_EXTENDED) { + len = info_print_ext_header(ext_text, + CONSOLE_EXT_LOG_MAX, @@ -535,12 +544,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de> + console_msg_format & MSG_FORMAT_SYSLOG, + printk_time); + } - --#define prb_read_valid(rb, seq, r) false --#define prb_first_valid_seq(rb) 0 --#define read_console_seq() 0 --#define latched_seq_write(dst, src) --#define kernel_sync_mode() false ++ + console_lock(); + + /* @@ -557,17 +561,13 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de> + console_unlock(); + break; + } - --static u64 exclusive_console_stop_seq; --static unsigned long console_dropped; ++ + if (!(con->flags & CON_EXTENDED) && dropped) { + dropped_len = snprintf(dropped_text, 64, + "** %lu printk messages dropped **\n", + dropped); + dropped = 0; - --static size_t record_print_text(const struct printk_record *r, -- bool syslog, bool time) ++ + con->write(con, dropped_text, dropped_len); + printk_delay(r.info->level); + } @@ -964,7 +964,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de> } static DEFINE_PER_CPU(struct irq_work, wake_up_klogd_work) = -@@ -3400,13 +3138,6 @@ void wake_up_klogd(void) +@@ -3400,18 +3138,11 @@ void wake_up_klogd(void) void defer_console_output(void) { @@ -977,4 +977,10 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de> - preempt_enable(); } + void printk_trigger_flush(void) + { +- defer_console_output(); ++ wake_up_klogd(); + } + int vprintk_deferred(const char *fmt, va_list args) diff --git a/patches/printk__remove_deferred_printing.patch b/patches/printk__remove_deferred_printing.patch index 6f98f1d6a3b7..18d7427a09c3 100644 --- a/patches/printk__remove_deferred_printing.patch +++ b/patches/printk__remove_deferred_printing.patch @@ -80,7 +80,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de> *visit_mask |= 1UL << info->type; --- a/arch/x86/kernel/dumpstack_64.c +++ b/arch/x86/kernel/dumpstack_64.c -@@ -201,7 +201,8 @@ int get_stack_info(unsigned long *stack, +@@ -207,7 +207,8 @@ int get_stack_info(unsigned long *stack, if (visit_mask) { if (*visit_mask & (1UL << info->type)) { if (task == current) @@ -198,7 +198,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de> * Please don't use printk_ratelimit(), because it shares ratelimiting state * with all other unrelated printk_ratelimit() callsites. Instead use * printk_ratelimited() or plain old __ratelimit(). -@@ -215,19 +200,6 @@ int _printk(const char *s, ...) +@@ -216,19 +201,6 @@ int _printk(const char *s, ...) { return 0; } @@ -218,7 +218,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de> static inline int printk_ratelimit(void) { -@@ -471,8 +443,6 @@ struct pi_entry { +@@ -475,8 +447,6 @@ struct pi_entry { * See the vsnprintf() documentation for format string extensions over C99. */ #define printk(fmt, ...) printk_index_wrap(_printk, fmt, ##__VA_ARGS__) @@ -227,7 +227,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de> /** * pr_emerg - Print an emergency-level message -@@ -610,13 +580,9 @@ struct pi_entry { +@@ -614,13 +584,9 @@ struct pi_entry { #ifdef CONFIG_PRINTK #define printk_once(fmt, ...) \ DO_ONCE_LITE(printk, fmt, ##__VA_ARGS__) @@ -459,7 +459,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de> asmlinkage __visible int _printk(const char *fmt, ...) { -@@ -3136,32 +3138,6 @@ void wake_up_klogd(void) +@@ -3136,37 +3138,11 @@ void wake_up_klogd(void) preempt_enable(); } @@ -467,6 +467,11 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de> -{ -} - + void printk_trigger_flush(void) + { + wake_up_klogd(); + } + -int vprintk_deferred(const char *fmt, va_list args) -{ - int r; @@ -629,7 +634,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de> --- a/kernel/sched/rt.c +++ b/kernel/sched/rt.c -@@ -971,7 +971,7 @@ static int sched_rt_runtime_exceeded(str +@@ -977,7 +977,7 @@ static int sched_rt_runtime_exceeded(str */ if (likely(rt_b->rt_runtime)) { rt_rq->rt_throttled = 1; |