All of lore.kernel.org
 help / color / mirror / Atom feed
From: Gleb Natapov <gleb@redhat.com>
To: Xiao Guangrong <xiaoguangrong@cn.fujitsu.com>
Cc: Avi Kivity <avi@redhat.com>,
	Marcelo Tosatti <mtosatti@redhat.com>,
	LKML <linux-kernel@vger.kernel.org>, KVM <kvm@vger.kernel.org>
Subject: Re: [PATCH v2 1/7] KVM: fix tracing kvm_try_async_get_page
Date: Mon, 1 Nov 2010 15:09:44 +0200	[thread overview]
Message-ID: <20101101130944.GF31722@redhat.com> (raw)
In-Reply-To: <4CCE8143.3090105@cn.fujitsu.com>

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@cn.fujitsu.com>
Acked-by: Gleb Natapov <gleb@redhat.com>

> ---
>  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.

      parent reply	other threads:[~2010-11-01 13:09 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-11-01  8:58 [PATCH v2 1/7] KVM: fix tracing kvm_try_async_get_page Xiao Guangrong
2010-11-01  8:59 ` [PATCH v2 2/7] KVM: cleanup aysnc_pf tracepoints Xiao Guangrong
2010-11-01  9:00 ` [PATCH v2 3/7] KVM: fix searching async gfn in kvm_async_pf_gfn_slot Xiao Guangrong
2010-11-01  9:01 ` [PATCH v2 4/7] KVM: avoid unnecessary wait for a async pf Xiao Guangrong
2010-11-01  9:25   ` Gleb Natapov
2010-11-01  9:02 ` [PATCH v2 5/7] KVM: handle more completed apfs if possible Xiao Guangrong
2010-11-01  9:24   ` Gleb Natapov
2010-11-01  9:34     ` Xiao Guangrong
2010-11-02  9:35     ` [PATCH v3 " Xiao Guangrong
2010-11-02 12:38       ` Gleb Natapov
2010-11-01  9:03 ` [RFC PATCH v2 6/7] KVM: fix the race while wakeup all pv guest Xiao Guangrong
2010-11-01 12:58   ` Gleb Natapov
2010-11-01  9:05 ` [RFC PATCH v2 7/7] KVM: KVM: don't break vcpu 'halt' state due to apfs Xiao Guangrong
2010-11-01 12:55   ` Gleb Natapov
2010-11-02  2:30     ` Xiao Guangrong
2010-11-02  6:56       ` Gleb Natapov
2010-11-02  7:31         ` Xiao Guangrong
2010-11-02  7:45           ` Gleb Natapov
2010-11-02  9:09             ` Xiao Guangrong
2010-11-02  9:14               ` Gleb Natapov
2010-11-02  9:30                 ` Xiao Guangrong
2010-11-02 12:39                   ` Gleb Natapov
2010-11-03  9:47     ` Xiao Guangrong
2010-11-03  9:45       ` Gleb Natapov
2010-11-03 13:43         ` Marcelo Tosatti
2010-11-01 13:09 ` Gleb Natapov [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20101101130944.GF31722@redhat.com \
    --to=gleb@redhat.com \
    --cc=avi@redhat.com \
    --cc=kvm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mtosatti@redhat.com \
    --cc=xiaoguangrong@cn.fujitsu.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.