From: Christian Borntraeger <borntraeger@de.ibm.com>
To: Alexander Yarygin <yarygin@linux.vnet.ibm.com>,
Jiri Olsa <jolsa@redhat.com>
Cc: David Ahern <dsahern@gmail.com>,
Peter Zijlstra <a.p.zijlstra@chello.nl>,
Paul Mackerras <paulus@samba.org>, Ingo Molnar <mingo@kernel.org>,
Arnaldo Carvalho de Melo <acme@kernel.com>,
Cornelia Huck <cornelia.huck@de.ibm.com>,
linux-kernel@vger.kernel.org, Paolo Bonzini <pbonzini@redhat.com>
Subject: Re: [PATCH 3/4] perf kvm: Add skip_event() for --duration option
Date: Mon, 07 Jul 2014 16:10:23 +0200 [thread overview]
Message-ID: <53BAAA4F.2090402@de.ibm.com> (raw)
In-Reply-To: <1404397747-20939-4-git-send-email-yarygin@linux.vnet.ibm.com>
On 03/07/14 16:29, Alexander Yarygin wrote:
> Current code skips output of the x86 specific HLT event in order to
> avoid flooding the output with enabled --duration option. The events to
> be skipped should be architecture dependent, though.
>
> Let's add an architecture specific array of events to be skipped and
> introduce a skip_event() function checking against that array.
>
> Signed-off-by: Alexander Yarygin <yarygin@linux.vnet.ibm.com>
> Reviewed-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Reviewed-by: Christian Borntraeger <borntraeger@de.ibm.com>
Would be good if Paolo and David could ack the KVM/perf parts.
Then this should also go into next merge window.
> ---
> tools/perf/arch/x86/util/kvm-stat.c | 5 +++++
> tools/perf/builtin-kvm.c | 13 ++++++++++++-
> tools/perf/util/kvm-stat.h | 1 +
> 3 files changed, 18 insertions(+), 1 deletion(-)
>
> diff --git a/tools/perf/arch/x86/util/kvm-stat.c b/tools/perf/arch/x86/util/kvm-stat.c
> index 2f8d2c1..14e4e66 100644
> --- a/tools/perf/arch/x86/util/kvm-stat.c
> +++ b/tools/perf/arch/x86/util/kvm-stat.c
> @@ -136,6 +136,11 @@ struct kvm_reg_events_ops kvm_reg_events_ops[] = {
> { NULL, NULL },
> };
>
> +const char * const kvm_skip_events[] = {
> + "HLT",
> + NULL,
> +};
> +
> int cpu_isa_init(struct perf_kvm_stat *kvm, const char *cpuid)
> {
> if (strstr(cpuid, "Intel")) {
> diff --git a/tools/perf/builtin-kvm.c b/tools/perf/builtin-kvm.c
> index 75ee8c1..fc2d63d 100644
> --- a/tools/perf/builtin-kvm.c
> +++ b/tools/perf/builtin-kvm.c
> @@ -261,6 +261,17 @@ static bool update_kvm_event(struct kvm_event *event, int vcpu_id,
> return true;
> }
>
> +static bool skip_event(const char *event)
> +{
> + const char * const *skip_events;
> +
> + for (skip_events = kvm_skip_events; *skip_events; skip_events++)
> + if (!strcmp(event, *skip_events))
> + return true;
> +
> + return false;
> +}
> +
> static bool handle_end_event(struct perf_kvm_stat *kvm,
> struct vcpu_event_record *vcpu_record,
> struct event_key *key,
> @@ -312,7 +323,7 @@ static bool handle_end_event(struct perf_kvm_stat *kvm,
> char decode[DECODE_STR_LEN];
>
> kvm->events_ops->decode_key(kvm, &event->key, decode);
> - if (strcmp(decode, "HLT")) {
> + if (!skip_event(decode)) {
> pr_info("%" PRIu64 " VM %d, vcpu %d: %s event took %" PRIu64 "usec\n",
> sample->time, sample->pid, vcpu_record->vcpu_id,
> decode, time_diff/1000);
> diff --git a/tools/perf/util/kvm-stat.h b/tools/perf/util/kvm-stat.h
> index d0d9fb1..ba937ca 100644
> --- a/tools/perf/util/kvm-stat.h
> +++ b/tools/perf/util/kvm-stat.h
> @@ -126,5 +126,6 @@ int cpu_isa_init(struct perf_kvm_stat *kvm, const char *cpuid);
>
> extern const char * const kvm_events_tp[];
> extern struct kvm_reg_events_ops kvm_reg_events_ops[];
> +extern const char * const kvm_skip_events[];
>
> #endif /* __PERF_KVM_STAT_H */
>
next prev parent reply other threads:[~2014-07-07 14:10 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-07-03 14:29 [PATCH/RFC 0/4] perf kvm: add stat support for s390 Alexander Yarygin
2014-07-03 14:29 ` [PATCH 1/4] perf kvm: Use defines of kvm events Alexander Yarygin
2014-07-07 14:06 ` Christian Borntraeger
2014-07-07 15:42 ` David Ahern
2014-07-09 13:45 ` David Ahern
2014-07-18 4:21 ` [tip:perf/core] " tip-bot for Alexander Yarygin
2014-07-03 14:29 ` [PATCH 2/4] perf kvm: Move arch specific code into arch/ Alexander Yarygin
2014-07-07 14:09 ` Christian Borntraeger
2014-07-09 13:45 ` David Ahern
2014-07-18 4:21 ` [tip:perf/core] " tip-bot for Alexander Yarygin
2014-07-03 14:29 ` [PATCH 3/4] perf kvm: Add skip_event() for --duration option Alexander Yarygin
2014-07-07 14:10 ` Christian Borntraeger [this message]
2014-07-09 13:45 ` David Ahern
2014-07-18 4:22 ` [tip:perf/core] " tip-bot for Alexander Yarygin
2014-07-03 14:29 ` [PATCH 4/4] perf kvm: Add stat support on s390 Alexander Yarygin
2014-07-07 14:11 ` Christian Borntraeger
2014-07-09 13:45 ` David Ahern
2014-07-10 10:50 ` Alexander Yarygin
2014-07-10 13:40 ` Arnaldo Carvalho de Melo
2014-07-18 4:22 ` [tip:perf/core] " tip-bot for Alexander Yarygin
2014-07-03 15:07 ` [PATCH/RFC 0/4] perf kvm: add stat support for s390 Christian Borntraeger
2014-07-09 16:47 ` David Ahern
2014-07-09 18:58 ` Arnaldo Carvalho de Melo
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=53BAAA4F.2090402@de.ibm.com \
--to=borntraeger@de.ibm.com \
--cc=a.p.zijlstra@chello.nl \
--cc=acme@kernel.com \
--cc=cornelia.huck@de.ibm.com \
--cc=dsahern@gmail.com \
--cc=jolsa@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=paulus@samba.org \
--cc=pbonzini@redhat.com \
--cc=yarygin@linux.vnet.ibm.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.