On Fri, 16 May 2014 12:45:15 -0700 Dave Hansen <dave@xxxxxxxx> wrote: > > Steven had an alternative to this which has zero overhead when > tracing is off where this includes the standard noops even when > tracing is disabled. I'm unconvinced that the extra complexity > of his apporach: > > http://lkml.kernel.org/r/20140508194508.561ed220@xxxxxxxxxxxxxxxxxx > > is worth it, expecially considering that the KVM code is already > making page fault entry slower here. This solution is > dirt-simple. I just threw it out there as a suggestion. I don't care either way. Acked-by: Steven Rostedt <rostedt@xxxxxxxxxxx> You probably need an acked-by from hpa or one of the other x86 maintainers as it touches the generic traps.h header. -- Steve > > Gleb, please apply. > > Signed-off-by: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> > Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> > Cc: x86@xxxxxxxxxx > Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> > Cc: Gleb Natapov <gleb@xxxxxxxxxx> > Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> > Cc: kvm@xxxxxxxxxxxxxxx > Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> > Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> > --- > > b/arch/x86/include/asm/traps.h | 5 +++++ > b/arch/x86/kernel/kvm.c | 2 +- > 2 files changed, 6 insertions(+), 1 deletion(-) > > diff -puN arch/x86/include/asm/traps.h~muck-with-kvm-guest-code arch/x86/include/asm/traps.h > --- a/arch/x86/include/asm/traps.h~muck-with-kvm-guest-code 2014-05-16 12:29:23.900429347 -0700 > +++ b/arch/x86/include/asm/traps.h 2014-05-16 12:29:23.905429570 -0700 > @@ -74,6 +74,11 @@ dotraplinkage void do_general_protection > dotraplinkage void do_page_fault(struct pt_regs *, unsigned long); > #ifdef CONFIG_TRACING > dotraplinkage void trace_do_page_fault(struct pt_regs *, unsigned long); > +#else > +static inline void trace_do_page_fault(struct pt_regs *regs, unsigned long error) > +{ > + do_page_fault(regs, error); > +} > #endif > dotraplinkage void do_spurious_interrupt_bug(struct pt_regs *, long); > dotraplinkage void do_coprocessor_error(struct pt_regs *, long); > diff -puN arch/x86/kernel/kvm.c~muck-with-kvm-guest-code arch/x86/kernel/kvm.c > --- a/arch/x86/kernel/kvm.c~muck-with-kvm-guest-code 2014-05-16 12:29:23.902429437 -0700 > +++ b/arch/x86/kernel/kvm.c 2014-05-16 12:29:23.906429615 -0700 > @@ -259,7 +259,7 @@ do_async_page_fault(struct pt_regs *regs > > switch (kvm_read_and_reset_pf_reason()) { > default: > - do_page_fault(regs, error_code); > + trace_do_page_fault(regs, error_code); > break; > case KVM_PV_REASON_PAGE_NOT_PRESENT: > /* page is swapped out by the host. */ > _ -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html