aboutsummaryrefslogtreecommitdiffstats
path: root/arch/s390/kernel/s390_ext.c
diff options
context:
space:
mode:
authorHeiko Carstens <heiko.carstens@de.ibm.com>2008-04-17 01:46:25 -0400
committerHeiko Carstens <heiko.carstens@de.ibm.com>2008-04-17 01:47:05 -0400
commit5a62b192196af9a798e2f2f4c6a1324e7edf2f4b (patch)
tree0aa96ba3153b257000be22e49befbde2b5bd6917 /arch/s390/kernel/s390_ext.c
parentd7b906897e9caae452947e33674df0a2d6f7e10f (diff)
[S390] Convert s390 to GENERIC_CLOCKEVENTS.
This way we get rid of s390's NO_IDLE_HZ and use the generic dynticks variant instead. In addition we get high resolution timers for free. Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com> Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Diffstat (limited to 'arch/s390/kernel/s390_ext.c')
-rw-r--r--arch/s390/kernel/s390_ext.c9
1 files changed, 3 insertions, 6 deletions
diff --git a/arch/s390/kernel/s390_ext.c b/arch/s390/kernel/s390_ext.c
index 3a8772d3baea..947d8c74403b 100644
--- a/arch/s390/kernel/s390_ext.c
+++ b/arch/s390/kernel/s390_ext.c
@@ -120,12 +120,9 @@ void do_extint(struct pt_regs *regs, unsigned short code)
120 old_regs = set_irq_regs(regs); 120 old_regs = set_irq_regs(regs);
121 irq_enter(); 121 irq_enter();
122 s390_idle_check(); 122 s390_idle_check();
123 if (S390_lowcore.int_clock >= S390_lowcore.jiffy_timer) 123 if (S390_lowcore.int_clock >= S390_lowcore.clock_comparator)
124 /** 124 /* Serve timer interrupts first. */
125 * Make sure that the i/o interrupt did not "overtake" 125 clock_comparator_work();
126 * the last HZ timer interrupt.
127 */
128 account_ticks(S390_lowcore.int_clock);
129 kstat_cpu(smp_processor_id()).irqs[EXTERNAL_INTERRUPT]++; 126 kstat_cpu(smp_processor_id()).irqs[EXTERNAL_INTERRUPT]++;
130 index = ext_hash(code); 127 index = ext_hash(code);
131 for (p = ext_int_hash[index]; p; p = p->next) { 128 for (p = ext_int_hash[index]; p; p = p->next) {