Re: [Xen-devel] [PATCH v18 14/16] x86/VPMU: NMI-based VPMU support

2015-02-20 Thread Boris Ostrovsky
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

Re: [Xen-devel] [PATCH v18 14/16] x86/VPMU: NMI-based VPMU support

2015-02-20 Thread Jan Beulich
>>> 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'

[Xen-devel] [PATCH v18 14/16] x86/VPMU: NMI-based VPMU support

2015-02-16 Thread Boris Ostrovsky
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