aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/s390/cio
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2012-03-22 21:15:32 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2012-03-22 21:15:32 -0400
commitdb1417967959569599da2a4bd0ffb93b17ad795f (patch)
tree08751414d5f4a9e264af924154ed3543a8e573a9 /drivers/s390/cio
parent48aab2f79dfc1357c48ce22ff5c989b52a590069 (diff)
parentc6da39f26cfe475704ec521723192e520e8f51b8 (diff)
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux
Pull s390 patches from Martin Schwidefsky: "The biggest patch is the rework of the smp code, something I wanted to do for some time. There are some patches for our various dump methods and one new thing: z/VM LGR detection. LGR stands for linux-guest- relocation and is the guest migration feature of z/VM. For debugging purposes we keep a log of the systems where a specific guest has lived." Fix up trivial conflict in arch/s390/kernel/smp.c due to the scheduler cleanup having removed some code next to removed s390 code. * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux: [S390] kernel: Pass correct stack for smp_call_ipl_cpu() [S390] Ensure that vmcore_info pointer is never accessed directly [S390] dasd: prevent validate server for offline devices [S390] Remove monolithic build option for zcrypt driver. [S390] stack dump: fix indentation in output [S390] kernel: Add OS info memory interface [S390] Use block_sigmask() [S390] kernel: Add z/VM LGR detection [S390] irq: external interrupt code passing [S390] irq: set __ARCH_IRQ_EXIT_IRQS_DISABLED [S390] zfcpdump: Implement async sdias event processing [S390] Use copy_to_absolute_zero() instead of "stura/sturg" [S390] rework idle code [S390] rework smp code [S390] rename lowcore field [S390] Fix gcc 4.6.0 compile warning
Diffstat (limited to 'drivers/s390/cio')
-rw-r--r--drivers/s390/cio/cio.c2
-rw-r--r--drivers/s390/cio/qdio_main.c6
2 files changed, 6 insertions, 2 deletions
diff --git a/drivers/s390/cio/cio.c b/drivers/s390/cio/cio.c
index dc67c397449e..a49c46c91983 100644
--- a/drivers/s390/cio/cio.c
+++ b/drivers/s390/cio/cio.c
@@ -601,8 +601,6 @@ void __irq_entry do_IRQ(struct pt_regs *regs)
601 struct pt_regs *old_regs; 601 struct pt_regs *old_regs;
602 602
603 old_regs = set_irq_regs(regs); 603 old_regs = set_irq_regs(regs);
604 s390_idle_check(regs, S390_lowcore.int_clock,
605 S390_lowcore.async_enter_timer);
606 irq_enter(); 604 irq_enter();
607 __this_cpu_write(s390_idle.nohz_delay, 1); 605 __this_cpu_write(s390_idle.nohz_delay, 1);
608 if (S390_lowcore.int_clock >= S390_lowcore.clock_comparator) 606 if (S390_lowcore.int_clock >= S390_lowcore.clock_comparator)
diff --git a/drivers/s390/cio/qdio_main.c b/drivers/s390/cio/qdio_main.c
index 770a740a393c..2a0dfcb0bc42 100644
--- a/drivers/s390/cio/qdio_main.c
+++ b/drivers/s390/cio/qdio_main.c
@@ -18,6 +18,7 @@
18#include <linux/atomic.h> 18#include <linux/atomic.h>
19#include <asm/debug.h> 19#include <asm/debug.h>
20#include <asm/qdio.h> 20#include <asm/qdio.h>
21#include <asm/ipl.h>
21 22
22#include "cio.h" 23#include "cio.h"
23#include "css.h" 24#include "css.h"
@@ -1093,6 +1094,11 @@ static void qdio_handle_activate_check(struct ccw_device *cdev,
1093 q->nr, q->first_to_kick, count, irq_ptr->int_parm); 1094 q->nr, q->first_to_kick, count, irq_ptr->int_parm);
1094no_handler: 1095no_handler:
1095 qdio_set_state(irq_ptr, QDIO_IRQ_STATE_STOPPED); 1096 qdio_set_state(irq_ptr, QDIO_IRQ_STATE_STOPPED);
1097 /*
1098 * In case of z/VM LGR (Live Guest Migration) QDIO recovery will happen.
1099 * Therefore we call the LGR detection function here.
1100 */
1101 lgr_info_log();
1096} 1102}
1097 1103
1098static void qdio_establish_handle_irq(struct ccw_device *cdev, int cstat, 1104static void qdio_establish_handle_irq(struct ccw_device *cdev, int cstat,