Re: [PATCH 4/7] perf, x86: Implement IBS interrupt handler

From: Robert Richter
Date: Mon Aug 01 2011 - 01:32:26 EST


On 29.07.11 12:58:46, Peter Zijlstra wrote:
> On Thu, 2011-07-28 at 15:46 +0200, Robert Richter wrote:
> > +static int __kprobes
> > +perf_ibs_nmi_handler(struct notifier_block *self,
> > + unsigned long cmd, void *__args)
> > +{
> > + struct die_args *args = __args;
> > + int handled = 0;
> > +
> > + switch (cmd) {
> > + case DIE_NMI:
> > + break;
> > + default:
> > + return NOTIFY_DONE;
> > + }
> > +
> > + handled += perf_ibs_handle_irq(&perf_ibs_fetch, args->regs);
> > + handled += perf_ibs_handle_irq(&perf_ibs_op, args->regs);
> > +
> > + if (!handled)
> > + return NOTIFY_DONE;
> > +
> > + inc_irq_stat(apic_perf_irqs);
> > +
> > + return NOTIFY_STOP;
> > +}
>
> So IBS cannot trigger the whole unknown NMI business? Wouldn't ibs_op
> triggering while ibs_fetch just started latch the NMI line, the
> in-progress NMI would handle both, and we then end up with a spare NMI?

Ok, I will run some excessive testing of this. If this turns out to be
a problem I will change the code. Could this be on top of this patch
set then?

-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/