Re: [PATCH -v3] perf, x86: try to handle unknown nmis with running perfctrs

Robert Richter
2010-08-27T08:12:46Z

On 26.08.10 17:14:24, Don Zickus wrote:
> diff --git a/arch/x86/kernel/cpu/perf_event_intel.c b/arch/x86/kernel/cpu/perf_event_intel.c
> index 4539b4b..d16ebd8 100644
> --- a/arch/x86/kernel/cpu/perf_event_intel.c
> +++ b/arch/x86/kernel/cpu/perf_event_intel.c
> @@ -738,6 +738,7 @@ again:
>
> inc_irq_stat(apic_perf_irqs);
> ack = status;
> + intel_pmu_ack_status(ack);

I would slightly change the patch:

There is no need for the ack variable anymore, you could directly work
with the status.

I would call intel_pmu_ack_status() as close as possible after the
intel_pmu_get_status(), which is after 'again:'.

-Robert

>
> intel_pmu_lbr_read();
>
> @@ -766,8 +767,6 @@ again:
> x86_pmu_stop(event);
> }
>
> - intel_pmu_ack_status(ack);
> -
> /*
> * Repeat if there is more work to be done:
> */
>

--
Advanced Micro Devices, Inc.
Operating System Research Center