Skip to contentSkip to conversation

3.0.42-rt64-rc1 stable review

PATCH In review Steven Rostedt 2 participants 5 messages Sep 13, 2012

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

cover 3.0.42-rt64-rc1 stable review

Dear RT Folks,

This is the RT stable review cycle of patch 3.0.42-rt64-rc1.

----
Note: The patches have not been uploaded to kernel.org yet. I've recently changed the subkey that I use to sign the patches as the old subkey is about to expire. But unfortunately, kernel.org has not updated its key ring, and is refusing my current subkey.

I have a ticket open with kernel.org to resolve the issue. But until then, this mailing is the only place the patches exist.
----

Please scream at me if I messed something up. Please test the patches too.

The -rc release will be uploaded to kernel.org and will be deleted when the final release is out. This is just a review release (or release candidate).

The pre-releases will not be pushed to the git repository, only the final release is.

If all goes well, this patch will be converted to the next main release on 9/17/2012.

Enjoy,

-- Steve

To build 3.0.42-rt64-rc1 directly, the following patches should be applied:

http://www.kernel.org/pub/linux/kernel/v3.0/linux-3.0.tar.xz

http://www.kernel.org/pub/linux/kernel/v3.0/patch-3.0.42.xz

http://www.kernel.org/pub/linux/kernel/projects/rt/3.0/patch-3.0.42-rt64-rc1.patch.xz

You can also build from 3.0.42-rt63 by applying the incremental patch:

http://www.kernel.org/pub/linux/kernel/projects/rt/3.0/incr/patch-3.0.42-rt63-rt64-rc1.patch.xz

Changes from 3.0.42-rt63:

---

Frank Rowand (1):
fix printk flush of messages

Steven Rostedt (1):

      Linux 3.0.42-rt64-rc1

----

 drivers/tty/serial/cpm_uart/cpm_uart_core.c |    2 +-
 drivers/tty/sysrq.c                         |   23 -----------------------
 include/linux/sysrq.h                       |    5 -----
 kernel/printk.c                             |    5 ++---
 lib/Kconfig.debug                           |   22 ----------------------
 localversion-rt                             |    2 +-
 6 files changed, 4 insertions(+), 55 deletions(-)
#1 lore raw

PATCH 1/2 fix printk flush of messages

From: Frank Rowand <[email protected]>

Reverse preempt-rt-allow-immediate-magic-sysrq-output-for-preempt_rt_full.patch

The problem addressed by that patch does not exist after applying console-make-rt-friendly-update.patch

---
 drivers/tty/serial/cpm_uart/cpm_uart_core.c |    2 +-
 drivers/tty/sysrq.c                         |   23 -----------------------
 include/linux/sysrq.h                       |    5 -----
 kernel/printk.c                             |    5 ++---
 lib/Kconfig.debug                           |   22 ----------------------
 5 files changed, 3 insertions(+), 54 deletions(-)
drivers/tty/serial/cpm_uart/cpm_uart_core.c +1 -1
index 2a75c84..9488da7 100644
@@ -1225,7 +1225,7 @@ static void cpm_uart_console_write(struct console *co, const char *s,
 {
 	struct uart_cpm_port *pinfo = &cpm_uart_ports[co->index];
 	unsigned long flags;
-	int nolock = oops_in_progress || sysrq_in_progress;
+	int nolock = oops_in_progress;
 
 	if (unlikely(nolock)) {
 		local_irq_save(flags);
drivers/tty/sysrq.c +0 -23
index 5219738..43db715 100644
@@ -492,23 +492,6 @@ static void __sysrq_put_key_op(int key, struct sysrq_key_op *op_p)
                 sysrq_key_table[i] = op_p;
 }
 
-#ifdef CONFIG_MAGIC_SYSRQ_FORCE_PRINTK
-
-int sysrq_in_progress;
-
-static void set_sysrq_in_progress(int value)
-{
-	sysrq_in_progress = value;
-}
-
-#else
-
-static void set_sysrq_in_progress(int value)
-{
-}
-
-#endif
-
 void __handle_sysrq(int key, bool check_mask)
 {
 	struct sysrq_key_op *op_p;
@@ -517,9 +500,6 @@ void __handle_sysrq(int key, bool check_mask)
 	unsigned long flags;
 
 	spin_lock_irqsave(&sysrq_key_table_lock, flags);
-
-	set_sysrq_in_progress(1);
-
 	/*
 	 * Raise the apparent loglevel to maximum so that the sysrq header
 	 * is shown to provide the user with positive feedback.  We do not
@@ -561,9 +541,6 @@ void __handle_sysrq(int key, bool check_mask)
 		printk("\n");
 		console_loglevel = orig_log_level;
 	}
-
-	set_sysrq_in_progress(0);
-
 	spin_unlock_irqrestore(&sysrq_key_table_lock, flags);
 }
 
include/linux/sysrq.h +0 -5
index d224c0b..7faf933 100644
@@ -38,11 +38,6 @@ struct sysrq_key_op {
 	int enable_mask;
 };
 
-#ifdef CONFIG_MAGIC_SYSRQ_FORCE_PRINTK
-extern int sysrq_in_progress;
-#else
-#define sysrq_in_progress 0
-#endif
 #ifdef CONFIG_MAGIC_SYSRQ
 
 /* Generic SysRq interface -- you may call it from any device driver, supplying
kernel/printk.c +2 -3
index f2c459f..ea71fae 100644
@@ -21,7 +21,6 @@
 #include <linux/tty.h>
 #include <linux/tty_driver.h>
 #include <linux/console.h>
-#include <linux/sysrq.h>
 #include <linux/init.h>
 #include <linux/jiffies.h>
 #include <linux/nmi.h>
@@ -834,8 +833,8 @@ static int console_trylock_for_printk(unsigned int cpu, unsigned long flags)
 	__releases(&logbuf_lock)
 {
 #ifdef CONFIG_PREEMPT_RT_FULL
-	int lock = (!early_boot_irqs_disabled && !irqs_disabled_flags(flags) &&
-		(preempt_count() <= 1)) || sysrq_in_progress;
+	int lock = !early_boot_irqs_disabled && !irqs_disabled_flags(flags) &&
+		(preempt_count() <= 1);
 #else
 	int lock = 1;
 #endif
lib/Kconfig.debug +0 -22
index 383b565..1685473 100644
@@ -62,28 +62,6 @@ config MAGIC_SYSRQ
 	  keys are documented in <file:Documentation/sysrq.txt>. Don't say Y
 	  unless you really know what this hack does.
 
-config MAGIC_SYSRQ_FORCE_PRINTK
-	bool "Force printk from Magic SysRq"
-	depends on MAGIC_SYSRQ && PREEMPT_RT_FULL
-	default n
-	help
-	  Allow the output from Magic SysRq to be output immediately, even if
-	  this causes large latencies.  This can cause performance problems
-	  for real-time processes.
-
-	  If PREEMPT_RT_FULL, printk() will not try to acquire the console lock
-	  when interrupts or preemption are disabled.  If the console lock is
-	  not acquired the printk() output will be buffered, but will not be
-	  output immediately.  Some drivers call into the Magic SysRq code
-	  with interrupts or preemption disabled, so the output of Magic SysRq
-	  will be buffered instead of printing immediately if this option is
-	  not selected.
-
-	  Even with this option selected, Magic SysRq output will be delayed
-	  if the attempt to acquire the console lock fails.
-
-	  Don't say Y unless you really know what this hack does.
-
 config STRIP_ASM_SYMS
 	bool "Strip assembler-generated symbols during link"
 	default n
Signature · 1 line
1.7.10.4
#2 lore raw

PATCH 2/2 Linux 3.0.42-rt64-rc1

In reply to Steven Rostedt

From: Steven Rostedt <[email protected]>

---
 localversion-rt |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
localversion-rt +1 -1
index b0e8dd7..c64934c 100644
@@ -1 +1 @@
--rt63
+-rt64-rc1
Signature · 1 line
1.7.10.4
#3 lore raw
In reply to Steven Rostedt
Quoted 9 lines · Steven Rostedt

----
Note: The patches have not been uploaded to kernel.org yet. I've recently changed the subkey that I use to sign the patches as the old subkey is about to expire. But unfortunately, kernel.org has not updated its key ring, and is refusing my current subkey.

I have a ticket open with kernel.org to resolve the issue. But until then, this mailing is the only place the patches exist.
----

Issue is solved, patches are up.

-- Steve

Quoted 14 lines

To build 3.0.42-rt64-rc1 directly, the following patches should be applied:

http://www.kernel.org/pub/linux/kernel/v3.0/linux-3.0.tar.xz

http://www.kernel.org/pub/linux/kernel/v3.0/patch-3.0.42.xz

http://www.kernel.org/pub/linux/kernel/projects/rt/3.0/patch-3.0.42-rt64-rc1.patch.xz

You can also build from 3.0.42-rt63 by applying the incremental patch:

http://www.kernel.org/pub/linux/kernel/projects/rt/3.0/incr/patch-3.0.42-rt63-rt64-rc1.patch.xz

#4 lore raw
In reply to Steven Rostedt
Quoted 4 lines · Steven Rostedt

Dear RT Folks,

This is the RT stable review cycle of patch 3.0.42-rt64-rc1.

Tested on:

- ARM mpcore
- ARM panda

For configurations:

- SMP CONFIG_PREEMPT_NONE
- UP CONFIG_PREEMPT_NONE
- SMP CONFIG_PREEMPT_RT_FULL
- UP CONFIG_PREEMPT_RT_FULL

Tests:

- build
- boot
- magic SYSRQ prints on serial console

As expected, panda SMP CONFIG_PREEMPT_RT_FULL still has the lock warning on boot. (tglx is looking into this.)

-Frank