On 05/08/2014 03:24 PM, Thomas Gleixner wrote: >> > I noticed on some of my systems that page fault tracing doesn't work: >> > >> > cd /sys/kernel/debug/tracing >> > echo 1 > events/exceptions/enable >> > cat trace; >> > # nothing shows up >> > >> > I eventually traced it down to CONFIG_KVM_GUEST. At least in a KVM VM, >> > enabling that option breaks page fault tracing, and disabling fixes it. >> > I tried on some old kernels and this does not appear to be a >> > regression: it never worked. >> > >> > Anybody have any theories about what is going on? Looks like the KVM code calls do_page_fault() directly: > dotraplinkage void __kprobes > do_async_page_fault(struct pt_regs *regs, unsigned long error_code) > { > enum ctx_state prev_state; > > switch (kvm_read_and_reset_pf_reason()) { > default: > do_page_fault(regs, error_code); > break; > case KVM_PV_REASON_PAGE_NOT_PRESENT: That seems to explain my problems in a VM. Any objections to doing something like the attached patch?