diff options
| -rw-r--r-- | arch/s390/oprofile/hwsampler.c | 11 |
1 files changed, 2 insertions, 9 deletions
diff --git a/arch/s390/oprofile/hwsampler.c b/arch/s390/oprofile/hwsampler.c index cb4338ccbf7b..053caa0fd276 100644 --- a/arch/s390/oprofile/hwsampler.c +++ b/arch/s390/oprofile/hwsampler.c | |||
| @@ -675,18 +675,11 @@ int hwsampler_activate(unsigned int cpu) | |||
| 675 | static void hws_ext_handler(unsigned int ext_int_code, | 675 | static void hws_ext_handler(unsigned int ext_int_code, |
| 676 | unsigned int param32, unsigned long param64) | 676 | unsigned int param32, unsigned long param64) |
| 677 | { | 677 | { |
| 678 | int cpu; | ||
| 679 | struct hws_cpu_buffer *cb; | 678 | struct hws_cpu_buffer *cb; |
| 680 | 679 | ||
| 681 | kstat_cpu(smp_processor_id()).irqs[EXTINT_CPM]++; | 680 | kstat_cpu(smp_processor_id()).irqs[EXTINT_CPM]++; |
| 682 | cpu = smp_processor_id(); | 681 | cb = &__get_cpu_var(sampler_cpu_buffer); |
| 683 | cb = &per_cpu(sampler_cpu_buffer, cpu); | 682 | atomic_xchg(&cb->ext_params, atomic_read(&cb->ext_params) | param32); |
| 684 | |||
| 685 | atomic_xchg( | ||
| 686 | &cb->ext_params, | ||
| 687 | atomic_read(&cb->ext_params) | ||
| 688 | | S390_lowcore.ext_params); | ||
| 689 | |||
| 690 | if (hws_wq) | 683 | if (hws_wq) |
| 691 | queue_work(hws_wq, &cb->worker); | 684 | queue_work(hws_wq, &cb->worker); |
| 692 | } | 685 | } |
