diff options
| author | Hendrik Brueckner <brueckner@linux.vnet.ibm.com> | 2012-05-09 10:27:40 -0400 |
|---|---|---|
| committer | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2012-05-23 11:06:52 -0400 |
| commit | 02456169e03bcfcebd3115b2a54c1c4a6829c875 (patch) | |
| tree | db7bffbce1e62e4b8d2d9fd3e0d4d2da2b508c0a | |
| parent | a34157031536c7961106e9787b4548f21b6d7891 (diff) | |
s390/irq: split irq stats for cpu-measurement alert facilities
CPU-measurement alerts are generated for different CPU-measurement
facilities, for example, the sampling and counter facilities.
Split the irq stats according to available facilities.
Signed-off-by: Hendrik Brueckner <brueckner@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
| -rw-r--r-- | arch/s390/include/asm/irq.h | 3 | ||||
| -rw-r--r-- | arch/s390/kernel/irq.c | 3 | ||||
| -rw-r--r-- | arch/s390/kernel/perf_cpum_cf.c | 2 | ||||
| -rw-r--r-- | arch/s390/oprofile/hwsampler.c | 2 |
4 files changed, 6 insertions, 4 deletions
diff --git a/arch/s390/include/asm/irq.h b/arch/s390/include/asm/irq.h index 5289cacd4861..2b9d41899d21 100644 --- a/arch/s390/include/asm/irq.h +++ b/arch/s390/include/asm/irq.h | |||
| @@ -17,7 +17,8 @@ enum interruption_class { | |||
| 17 | EXTINT_VRT, | 17 | EXTINT_VRT, |
| 18 | EXTINT_SCP, | 18 | EXTINT_SCP, |
| 19 | EXTINT_IUC, | 19 | EXTINT_IUC, |
| 20 | EXTINT_CPM, | 20 | EXTINT_CMS, |
| 21 | EXTINT_CMC, | ||
| 21 | IOINT_CIO, | 22 | IOINT_CIO, |
| 22 | IOINT_QAI, | 23 | IOINT_QAI, |
| 23 | IOINT_DAS, | 24 | IOINT_DAS, |
diff --git a/arch/s390/kernel/irq.c b/arch/s390/kernel/irq.c index 8a22c27219dd..b4f4a7133fa1 100644 --- a/arch/s390/kernel/irq.c +++ b/arch/s390/kernel/irq.c | |||
| @@ -42,7 +42,8 @@ static const struct irq_class intrclass_names[] = { | |||
| 42 | {.name = "VRT", .desc = "[EXT] Virtio" }, | 42 | {.name = "VRT", .desc = "[EXT] Virtio" }, |
| 43 | {.name = "SCP", .desc = "[EXT] Service Call" }, | 43 | {.name = "SCP", .desc = "[EXT] Service Call" }, |
| 44 | {.name = "IUC", .desc = "[EXT] IUCV" }, | 44 | {.name = "IUC", .desc = "[EXT] IUCV" }, |
| 45 | {.name = "CPM", .desc = "[EXT] CPU Measurement" }, | 45 | {.name = "CMS", .desc = "[EXT] CPU-Measurement: Sampling" }, |
| 46 | {.name = "CMC", .desc = "[EXT] CPU-Measurement: Counter" }, | ||
| 46 | {.name = "CIO", .desc = "[I/O] Common I/O Layer Interrupt" }, | 47 | {.name = "CIO", .desc = "[I/O] Common I/O Layer Interrupt" }, |
| 47 | {.name = "QAI", .desc = "[I/O] QDIO Adapter Interrupt" }, | 48 | {.name = "QAI", .desc = "[I/O] QDIO Adapter Interrupt" }, |
| 48 | {.name = "DAS", .desc = "[I/O] DASD" }, | 49 | {.name = "DAS", .desc = "[I/O] DASD" }, |
diff --git a/arch/s390/kernel/perf_cpum_cf.c b/arch/s390/kernel/perf_cpum_cf.c index cb019f429e88..9871b1971ed7 100644 --- a/arch/s390/kernel/perf_cpum_cf.c +++ b/arch/s390/kernel/perf_cpum_cf.c | |||
| @@ -225,7 +225,7 @@ static void cpumf_measurement_alert(struct ext_code ext_code, | |||
| 225 | if (!(alert & CPU_MF_INT_CF_MASK)) | 225 | if (!(alert & CPU_MF_INT_CF_MASK)) |
| 226 | return; | 226 | return; |
| 227 | 227 | ||
| 228 | kstat_cpu(smp_processor_id()).irqs[EXTINT_CPM]++; | 228 | kstat_cpu(smp_processor_id()).irqs[EXTINT_CMC]++; |
| 229 | cpuhw = &__get_cpu_var(cpu_hw_events); | 229 | cpuhw = &__get_cpu_var(cpu_hw_events); |
| 230 | 230 | ||
| 231 | /* Measurement alerts are shared and might happen when the PMU | 231 | /* Measurement alerts are shared and might happen when the PMU |
diff --git a/arch/s390/oprofile/hwsampler.c b/arch/s390/oprofile/hwsampler.c index c6646de07bf4..a4a89fa980d6 100644 --- a/arch/s390/oprofile/hwsampler.c +++ b/arch/s390/oprofile/hwsampler.c | |||
| @@ -235,7 +235,7 @@ static void hws_ext_handler(struct ext_code ext_code, | |||
| 235 | if (!(param32 & CPU_MF_INT_SF_MASK)) | 235 | if (!(param32 & CPU_MF_INT_SF_MASK)) |
| 236 | return; | 236 | return; |
| 237 | 237 | ||
| 238 | kstat_cpu(smp_processor_id()).irqs[EXTINT_CPM]++; | 238 | kstat_cpu(smp_processor_id()).irqs[EXTINT_CMS]++; |
| 239 | atomic_xchg(&cb->ext_params, atomic_read(&cb->ext_params) | param32); | 239 | atomic_xchg(&cb->ext_params, atomic_read(&cb->ext_params) | param32); |
| 240 | 240 | ||
| 241 | if (hws_wq) | 241 | if (hws_wq) |
