One alternative would be to stop using NMIs for perf counters in common cases.
If you have PEBS and your events support PEBS then PEBS can give you a
lot of information inside the irq off region. That works for common
events at least.
Also traditionally interrupt off regions are shrinking in Linux,
so is it really still worth all the trouble just to profile inside them.
e.g. one could make nmi profiling an option with default off.
-Andi
--
ak@linux.intel.com -- Speaking for myself only.
--