diff mbox series

[ANNOUNCE] 5.10.180-rt88

Message ID ZHZSlJFnTK1IpXeg@uudg.org
State New
Headers show
Series [ANNOUNCE] 5.10.180-rt88 | expand

Commit Message

Luis Claudio R. Goncalves May 30, 2023, 7:46 p.m. UTC
Hello RT-list!

I'm pleased to announce the 5.10.180-rt88 stable release.

This release is an update to the new stable 5.10.180 version, with one
RT-specific change required to fix a build error due to the lack of
support for deferred printing in v5.10-rt.

Support for deferred printing was removed in v5.10-rc1-rt1 by commit
9153e3c5cb0c9 ("printk: remove deferred printing").

You can get this release via the git tree at:

  git://git.kernel.org/pub/scm/linux/kernel/git/rt/linux-stable-rt.git

  branch: v5.10-rt
  Head SHA1: 442a576e3b9afa5272c3d0a996a0d1a260f259b8

Or to build 5.10.180-rt88 directly, the following patches should be applied:

  https://www.kernel.org/pub/linux/kernel/v5.x/linux-5.10.tar.xz

  https://www.kernel.org/pub/linux/kernel/v5.x/patch-5.10.180.xz

  https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patch-5.10.180-rt88.patch.xz

Signing key fingerprint:

  9354 0649 9972 8D31 D464  D140 F394 A423 F8E6 7C26

All keys used for the above files and repositories can be found on the
following git repository:

   git://git.kernel.org/pub/scm/docs/kernel/pgpkeys.git

Enjoy!
Luis
---
 include/linux/printk.h |    4 ++--
 mm/page_alloc.c        |    2 --
 2 files changed, 2 insertions(+), 4 deletions(-)

---

Comments

Sebastian Andrzej Siewior June 6, 2023, 9:48 a.m. UTC | #1
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
Luis Claudio R. Goncalves June 6, 2023, 1:32 p.m. UTC | #2
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---
diff mbox series

Patch

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);
 /*
@@ -619,7 +619,7 @@  extern void __printk_safe_exit(void);
  */
 #define printk_deferred_enter __printk_safe_enter
 #define printk_deferred_exit __printk_safe_exit
-#else
+#else /* defined(CONFIG_PRINTK) && !defined(CONFIG_PREEMPT_RT) */
 static inline void printk_deferred_enter(void)
 {
 }
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();
 	write_seqlock(&zonelist_update_seq);
 
 #ifdef CONFIG_NUMA
@@ -6092,7 +6091,6 @@  static void __build_all_zonelists(void *data)
 	}
 
 	write_sequnlock(&zonelist_update_seq);
-	printk_deferred_exit();
 	local_irq_restore(flags);
 }