In message: [PATCH] rt: merge fixup for v5.4.37 and printk issues
on 05/05/2020 Paul Gortmaker wrote:

> In v5.4.37, upstream ab6f762f0f5 ("printk: queue wake_up_klogd
> irq_work only if per-CPU areas are ready") was backported.
> 
> However, in preempt-rt content we have:
> 
>   0011-printk_safe-remove-printk-safe-code.patch
>   0025-printk-remove-unused-code.patch
> 
> The v5.6-rt already has a backport of ab6f762f0f5 present, and has
> simply expanded the above removals to account for the backport, so
> we do the same thing here for v5.4-rt

Thanks Paul,

I wasn't going to get to this for a few days yet :D

This is now merged.

Bruce

> 
> Signed-off-by: Paul Gortmaker <[email protected]>
> 
> diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c
> index 0c693e7d7d5e..0605a74ad76b 100644
> --- a/kernel/printk/printk.c
> +++ b/kernel/printk/printk.c
> @@ -392,26 +392,6 @@ static u64 clear_seq;
>  #define LOG_LEVEL(v)         ((v) & 0x07)
>  #define LOG_FACILITY(v)              ((v) >> 3 & 0xff)
>  
> -/* record buffer */
> -#define LOG_ALIGN __alignof__(struct printk_log)
> -#define __LOG_BUF_LEN (1 << CONFIG_LOG_BUF_SHIFT)
> -#define LOG_BUF_LEN_MAX (u32)(1 << 31)
> -static char __log_buf[__LOG_BUF_LEN] __aligned(LOG_ALIGN);
> -static char *log_buf = __log_buf;
> -static u32 log_buf_len = __LOG_BUF_LEN;
> -
> -/*
> - * We cannot access per-CPU data (e.g. per-CPU flush irq_work) before
> - * per_cpu_areas are initialised. This variable is set to true when
> - * it's safe to access per-CPU data.
> - */
> -static bool __printk_percpu_data_ready __read_mostly;
> -
> -bool printk_percpu_data_ready(void)
> -{
> -     return __printk_percpu_data_ready;
> -}
> -
>  /* Return log buffer address */
>  char *log_buf_addr_get(void)
>  {
> @@ -1031,14 +1011,6 @@ static inline void log_buf_add_cpu(void) {}
>  #endif /* CONFIG_SMP */
>  #endif /* 0 */
>  
> -static void __init set_percpu_data_ready(void)
> -{
> -     printk_safe_init();
> -     /* Make sure we set this flag only after printk_safe() init is done */
> -     barrier();
> -     __printk_percpu_data_ready = true;
> -}
> -
>  void __init setup_log_buf(int early)
>  {
>  /* FIXME: no support for buffer resizing */
> @@ -1047,14 +1019,6 @@ void __init setup_log_buf(int early)
>       char *new_log_buf;
>       unsigned int free;
>  
> -     /*
> -      * Some archs call setup_log_buf() multiple times - first is very
> -      * early, e.g. from setup_arch(), and second - when percpu_areas
> -      * are initialised.
> -      */
> -     if (!early)
> -             set_percpu_data_ready();
> -
>       if (log_buf != __log_buf)
>               return;
>  
> @@ -2779,17 +2743,6 @@ static int __init init_printk_kthread(void)
>  }
>  late_initcall(init_printk_kthread);
>  
> -void defer_console_output(void)
> -{
> -     if (!printk_percpu_data_ready())
> -             return;
> -
> -     preempt_disable();
> -     __this_cpu_or(printk_pending, PRINTK_PENDING_OUTPUT);
> -     irq_work_queue(this_cpu_ptr(&wake_up_klogd_work));
> -     preempt_enable();
> -}
> -
>  static int vprintk_deferred(const char *fmt, va_list args)
>  {
>       return vprintk_emit(0, LOGLEVEL_DEFAULT, NULL, 0, fmt, args);
> -- 
> 2.7.4
> 
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.

View/Reply Online (#8634): 
https://lists.yoctoproject.org/g/linux-yocto/message/8634
Mute This Topic: https://lists.yoctoproject.org/mt/74002022/21656
Group Owner: [email protected]
Unsubscribe: 
https://lists.yoctoproject.org/g/linux-yocto/leave/6687884/624485779/xyzzy  
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to