diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-03-22 21:15:32 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-03-22 21:15:32 -0400 |
commit | db1417967959569599da2a4bd0ffb93b17ad795f (patch) | |
tree | 08751414d5f4a9e264af924154ed3543a8e573a9 /drivers/s390/cio | |
parent | 48aab2f79dfc1357c48ce22ff5c989b52a590069 (diff) | |
parent | c6da39f26cfe475704ec521723192e520e8f51b8 (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.c | 2 | ||||
-rw-r--r-- | drivers/s390/cio/qdio_main.c | 6 |
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); |
1094 | no_handler: | 1095 | no_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 | ||
1098 | static void qdio_establish_handle_irq(struct ccw_device *cdev, int cstat, | 1104 | static void qdio_establish_handle_irq(struct ccw_device *cdev, int cstat, |