Re: [ANNOUNCE] 5.10.180-rt88
From: Luis Claudio R. Goncalves
Date: Tue Jun 06 2023 - 09:33:50 EST
On Tue, Jun 06, 2023 at 11:48:55AM +0200, Sebastian Andrzej Siewior wrote:
> On 2023-05-30 16:46:28 [-0300], Luis Claudio R. Goncalves wrote:
> > Hello RT-list!
> Hi,
>
> > Support for deferred printing was removed in v5.10-rc1-rt1 by commit
> > 9153e3c5cb0c9 ("printk: remove deferred printing").
>
> Sorry for not getting back to earlier, where you proposed the change.
No problems at all. I will create an rt-only release with the changes you
mentioned and then restart testing with 5.10.181 and 5.10.182with these
changes.
Thank you again!
Luis
> > diff --git a/include/linux/printk.h b/include/linux/printk.h
> > index 83c7734e98025..92e0656841128 100644
> > --- a/include/linux/printk.h
> > +++ b/include/linux/printk.h
> > @@ -609,7 +609,7 @@ static inline void print_hex_dump_debug(const char *prefix_str, int prefix_type,
> > #define print_hex_dump_bytes(prefix_str, prefix_type, buf, len) \
> > print_hex_dump_debug(prefix_str, prefix_type, 16, 1, buf, len, true)
> >
> > -#ifdef CONFIG_PRINTK
> > +#if defined(CONFIG_PRINTK) && !defined(CONFIG_PREEMPT_RT)
> > extern void __printk_safe_enter(void);
> > extern void __printk_safe_exit(void);
>
> This needs to go entirely. The "new" printk code does not need this safe
> functions also for !RT.
>
> > diff --git a/mm/page_alloc.c b/mm/page_alloc.c
> > index 5f1c50a6bebc5..7e65e3ef16e3a 100644
> > --- a/mm/page_alloc.c
> > +++ b/mm/page_alloc.c
> > @@ -6057,7 +6057,6 @@ static void __build_all_zonelists(void *data)
> > * tty_insert_flip_string_and_push_buffer() on other CPU might be
> > * calling kmalloc(GFP_ATOMIC | __GFP_NOWARN) with port->lock held.
> > */
> > - printk_deferred_enter();
>
> That is okay. However the commit, that introduced this
> a992c387b4118 ("mm/page_alloc: fix potential deadlock on zonelist_update_seq seqlock")
>
> also added a local_irq_safe a little higher up and it has to go, too.
> The code as-is should produce warnings once it enters this path.
>
> > write_seqlock(&zonelist_update_seq);
> >
> > #ifdef CONFIG_NUMA
>
> Sebastian
>
---end quoted text---