Patch "sparc64: Migrate hvcons irq to panicked cpu" has been added to the 4.9-stable tree
Subsystems (4)
This is a note to let you know that I've just added the patch titled
sparc64: Migrate hvcons irq to panicked cpu
to the 4.9-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
sparc64-migrate-hvcons-irq-to-panicked-cpu.patch
and it can be found in the queue-4.9 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From foo@baz Thu Oct 19 15:04:02 CEST 2017
From: Vijay Kumar <[email protected]>
Date: Wed, 1 Feb 2017 11:34:38 -0800
Subject: sparc64: Migrate hvcons irq to panicked cpu
From: Vijay Kumar <[email protected]>
[ Upstream commit 7dd4fcf5b70694dc961eb6b954673e4fc9730dbd ]
On panic, all other CPUs are stopped except the one which had hit panic. To keep console alive, we need to migrate hvcons irq to panicked CPU.
--- arch/sparc/include/asm/setup.h | 5 ++++- arch/sparc/kernel/smp_64.c | 6 +++++- drivers/tty/serial/sunhv.c | 6 ++++++ 3 files changed, 15 insertions(+), 2 deletions(-)
arch/sparc/include/asm/setup.h +4 -1
@@ -59,8 +59,11 @@ extern atomic_t dcpage_flushes;extern atomic_t dcpage_flushes_xcall;extern int sysctl_tsb_ratio; -#endif +#ifdef CONFIG_SERIAL_SUNHV +void sunhv_migrate_hvcons_irq (int cpu); +#endif +#endif void sun_do_break (void );extern int stop_a_enabled;extern int scons_pwroff;
arch/sparc/kernel/smp_64.c +5 -1
@@ -1465,8 +1465,12 @@ void smp_send_stop(void)int cpu;if (tlb_type == hypervisor) { +int this_cpu =smp_processor_id (); +#ifdef CONFIG_SERIAL_SUNHV +sunhv_migrate_hvcons_irq (this_cpu); +#endif for_each_online_cpu (cpu) { -if (cpu ==smp_processor_id ()) +if (cpu == this_cpu)continue ;#ifdef CONFIG_SUN_LDOMS if (ldom_domaining_enabled) {
drivers/tty/serial/sunhv.c +6 -0
@@ -398,6 +398,12 @@ static struct uart_driver sunhv_reg = {static struct uart_port *sunhv_port; +void sunhv_migrate_hvcons_irq (int cpu) +{ +/* Migrate hvcons irq to param cpu */ +irq_force_affinity (sunhv_port->irq,cpumask_of (cpu)); +} +/* Copy 's' into the con_write_page, decoding "\n" into * "\r\n" along the way. We have to return two lengths * because the caller needs to know how much to advance
Patches currently in stable-queue which might be from [email protected] are
queue-4.9/sparc64-migrate-hvcons-irq-to-panicked-cpu.patch