Re: [V3][PATCH 0/6] x86, nmi: new NMI handling routines

From: Robert Richter
Date: Tue Sep 06 2011 - 12:44:51 EST


On 25.08.11 12:45:42, Don Zickus wrote:
> I had the pleasure of hosting Robert Richter this week at Red Hat. One of
> the issues he wanted to talk with me about was having the NMI handling
> routines execute all the NMI handlers for each NMI mainly for his AMD IBS
> work. But he also brought up another good point that because of the way NMIs
> work, it is possible to lose them if multiple NMIs happen at the same time.
>
> As a result, we sat around and discussed how we could go about executing
> all the nmi handlers for each NMI to ensure that we would not lose any events.
>
> We decided the best way to do this would be to have the NMI handlers break
> away from the notifier routines and create our own. This would allow us to
> execute all the handlers without hacking up the notifier stuff and easily
> track the number of events processed at a higher level to deal with the new
> problemm of extra NMIs.
>
> I spent some time hacking and came up with this patch. I tested it on my
> core2quad machine trying to enable all the NMI handler I could, mainly
> perf and kgdb (and oprofile too when perf was disabled). Everything seems
> to work correctly. If people are ok with this approach, I'll try and test
> this on more machines.
>
> More details about the patch are in the individual changelogs.

Don,

thanks for this patch set. So far it looks good to me. See my comments
posted. I don't think they require necessarily a new patch
version. Instead we could implement changes on top of it.

I will rebase my current perf ibs implementation on to of this
patches. It would be good to have the patches in tip after kernel.org
is back again.

Thanks,

-Robert

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

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/