[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH v4 2/3] xen/oprofile: use NMI continuation for sending virq to guest
On 12.11.2020 11:48, Jürgen Groß wrote: > On 12.11.20 11:23, Jan Beulich wrote: >> On 11.11.2020 16:48, Jürgen Groß wrote: >>> On 11.11.20 16:45, Jan Beulich wrote: >>>> On 09.11.2020 10:50, Juergen Gross wrote: >>>>> static int nmi_callback(const struct cpu_user_regs *regs, int cpu) >>>>> { >>>>> int xen_mode, ovf; >>>>> >>>>> ovf = model->check_ctrs(cpu, &cpu_msrs[cpu], regs); >>>>> xen_mode = ring_0(regs); >> >> Unrelated to the patch here (i.e. just as an observation), this >> use of ring_0() looks bogus when the NMI occurred in HVM guest >> mode. > > An NMI in an HVM guest due to oprofile would be a VMEXIT with NMI > reason, or just be handled completely inside the guest, right? Yes, and in the former case for VMX it would be handed on to do_nmi(), with the guest register state. For SVM it would get handled on the next STGI, i.e. would indeed never surface from HVM guest mode. > I don't see how this test should ever result in xen_mode being > false for an HVM guest. I think, because of hvm_invalidate_regs_fields(), on VMX it would be consistently true in release builds and consistently false in debug ones. Jan
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |