On 02/20/2015 10:03 AM, Jan Beulich wrote:
On 16.02.15 at 23:26, wrote:
+int pmu_nmi_interrupt(const struct cpu_user_regs *regs, int cpu)
static
+{
+return vpmu_do_interrupt(regs);
That function returning 1 makes do_nmi() not do _anything_ else, i.e.
ignore eventual SERR or IOCHK event
>>> On 16.02.15 at 23:26, wrote:
> +int pmu_nmi_interrupt(const struct cpu_user_regs *regs, int cpu)
static
> +{
> +return vpmu_do_interrupt(regs);
That function returning 1 makes do_nmi() not do _anything_ else, i.e.
ignore eventual SERR or IOCHK events. That's not acceptable. I guess
you'
Add support for using NMIs as PMU interrupts to allow profiling hypervisor
when interrupts are disabled.
Most of processing is still performed by vpmu_do_interrupt(). However, since
certain operations are not NMI-safe we defer them to a softint that
vpmu_do_interrupt()
will schedule:
* For PV gue