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. > 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