3.0.42-rt64-rc1 stable review
Subsystems (2)
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(-)
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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
PATCH 2/2 Linux 3.0.42-rt64-rc1
In reply to Steven RostedtFrom: Steven Rostedt <[email protected]>
--- localversion-rt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
localversion-rt +1 -1
@@ -1 +1 @@ --rt63 +-rt64-rc1
Signature · 1 line
1.7.10.4
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
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