On Mon, Nov 01, 2010 at 04:58:43PM +0800, Xiao Guangrong wrote: > Tracing 'async' and *pfn is useless, since 'async' is always true, > and '*pfn' is always "fault_pfn' > > We can trace 'gva' and 'gfn' instead, it can help us to see the > life-cycle of an async_pf > > Signed-off-by: Xiao Guangrong <xiaoguangrong@xxxxxxxxxxxxxx> Acked-by: Gleb Natapov <gleb@xxxxxxxxxx> > --- > arch/x86/kvm/mmu.c | 2 +- > include/trace/events/kvm.h | 12 +++++++----- > 2 files changed, 8 insertions(+), 6 deletions(-) > > diff --git a/arch/x86/kvm/mmu.c b/arch/x86/kvm/mmu.c > index 39cc0c6..5275c50 100644 > --- a/arch/x86/kvm/mmu.c > +++ b/arch/x86/kvm/mmu.c > @@ -2627,7 +2627,7 @@ static bool try_async_pf(struct kvm_vcpu *vcpu, bool no_apf, gfn_t gfn, > put_page(pfn_to_page(*pfn)); > > if (!no_apf && can_do_async_pf(vcpu)) { > - trace_kvm_try_async_get_page(async, *pfn); > + trace_kvm_try_async_get_page(gva, gfn); > if (kvm_find_async_pf_gfn(vcpu, gfn)) { > trace_kvm_async_pf_doublefault(gva, gfn); > kvm_make_request(KVM_REQ_APF_HALT, vcpu); > diff --git a/include/trace/events/kvm.h b/include/trace/events/kvm.h > index 9c2cc6a..30063c6 100644 > --- a/include/trace/events/kvm.h > +++ b/include/trace/events/kvm.h > @@ -188,18 +188,20 @@ TRACE_EVENT(kvm_age_page, > #ifdef CONFIG_KVM_ASYNC_PF > TRACE_EVENT( > kvm_try_async_get_page, > - TP_PROTO(bool async, u64 pfn), > - TP_ARGS(async, pfn), > + TP_PROTO(u64 gva, u64 gfn), > + TP_ARGS(gva, gfn), > > TP_STRUCT__entry( > - __field(__u64, pfn) > + __field(u64, gva) > + __field(u64, gfn) > ), > > TP_fast_assign( > - __entry->pfn = (!async) ? pfn : (u64)-1; > + __entry->gva = gva; > + __entry->gfn = gfn; > ), > > - TP_printk("pfn %#llx", __entry->pfn) > + TP_printk("gva = %#llx, gfn = %#llx", __entry->gva, __entry->gfn) > ); > > TRACE_EVENT( > -- > 1.7.0.4 -- Gleb. -- 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