* [PATCH V2 0/2] perf kvm: fix sample_type manipulation
@ 2013-09-06 19:40 Adrian Hunter
2013-09-06 19:40 ` [PATCH V2 1/2] perf tools: fix id pos in perf_evlist__open() Adrian Hunter
2013-09-06 19:40 ` [PATCH V2 2/2] perf kvm: fix sample_type manipulation Adrian Hunter
0 siblings, 2 replies; 8+ messages in thread
From: Adrian Hunter @ 2013-09-06 19:40 UTC (permalink / raw)
To: Arnaldo Carvalho de Melo
Cc: Peter Zijlstra, linux-kernel, David Ahern, Frederic Weisbecker,
Jiri Olsa, Mike Galbraith, Namhyung Kim, Paul Mackerras,
Stephane Eranian
Hi
Here is the sample identifier fix (version 2).
Changes in V2:
perf tools: fix id pos in perf_evlist__open()
New patch
perf kvm: fix sample_type manipulation
Remove setting of id_pos
Adrian Hunter (2):
perf tools: fix id pos in perf_evlist__open()
perf kvm: fix sample_type manipulation
tools/perf/builtin-kvm.c | 18 +++++++++---------
tools/perf/util/evlist.c | 12 ++++++++++++
2 files changed, 21 insertions(+), 9 deletions(-)
Regards
Adrian
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH V2 1/2] perf tools: fix id pos in perf_evlist__open()
2013-09-06 19:40 [PATCH V2 0/2] perf kvm: fix sample_type manipulation Adrian Hunter
@ 2013-09-06 19:40 ` Adrian Hunter
2013-09-07 14:20 ` David Ahern
2013-09-12 11:10 ` [tip:perf/urgent] perf evlist: Fix " tip-bot for Adrian Hunter
2013-09-06 19:40 ` [PATCH V2 2/2] perf kvm: fix sample_type manipulation Adrian Hunter
1 sibling, 2 replies; 8+ messages in thread
From: Adrian Hunter @ 2013-09-06 19:40 UTC (permalink / raw)
To: Arnaldo Carvalho de Melo
Cc: Peter Zijlstra, linux-kernel, David Ahern, Frederic Weisbecker,
Jiri Olsa, Mike Galbraith, Namhyung Kim, Paul Mackerras,
Stephane Eranian
Ensure the id_pos is correct when perf_evlist__open()
is used.
Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
---
tools/perf/util/evlist.c | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/tools/perf/util/evlist.c b/tools/perf/util/evlist.c
index b8727ae..005c0eb 100644
--- a/tools/perf/util/evlist.c
+++ b/tools/perf/util/evlist.c
@@ -64,6 +64,16 @@ void perf_evlist__set_id_pos(struct perf_evlist *evlist)
evlist->is_pos = first->is_pos;
}
+static void perf_evlist__update_id_pos(struct perf_evlist *evlist)
+{
+ struct perf_evsel *evsel;
+
+ list_for_each_entry(evsel, &evlist->entries, node)
+ perf_evsel__calc_id_pos(evsel);
+
+ perf_evlist__set_id_pos(evlist);
+}
+
static void perf_evlist__purge(struct perf_evlist *evlist)
{
struct perf_evsel *pos, *n;
@@ -915,6 +925,8 @@ int perf_evlist__open(struct perf_evlist *evlist)
struct perf_evsel *evsel;
int err;
+ perf_evlist__update_id_pos(evlist);
+
list_for_each_entry(evsel, &evlist->entries, node) {
err = perf_evsel__open(evsel, evlist->cpus, evlist->threads);
if (err < 0)
--
1.7.11.7
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH V2 2/2] perf kvm: fix sample_type manipulation
2013-09-06 19:40 [PATCH V2 0/2] perf kvm: fix sample_type manipulation Adrian Hunter
2013-09-06 19:40 ` [PATCH V2 1/2] perf tools: fix id pos in perf_evlist__open() Adrian Hunter
@ 2013-09-06 19:40 ` Adrian Hunter
2013-09-07 14:20 ` David Ahern
2013-09-12 11:10 ` [tip:perf/urgent] perf kvm: Fix " tip-bot for Adrian Hunter
1 sibling, 2 replies; 8+ messages in thread
From: Adrian Hunter @ 2013-09-06 19:40 UTC (permalink / raw)
To: Arnaldo Carvalho de Melo
Cc: Peter Zijlstra, linux-kernel, David Ahern, Frederic Weisbecker,
Jiri Olsa, Mike Galbraith, Namhyung Kim, Paul Mackerras,
Stephane Eranian
Manipulating the sample_type of an evsel requires
the use of:
perf_evsel__set_sample_bit()
and perf_evsel__reset_sample_bit()
Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
---
tools/perf/builtin-kvm.c | 18 +++++++++---------
1 file changed, 9 insertions(+), 9 deletions(-)
diff --git a/tools/perf/builtin-kvm.c b/tools/perf/builtin-kvm.c
index 47b3540..935d522 100644
--- a/tools/perf/builtin-kvm.c
+++ b/tools/perf/builtin-kvm.c
@@ -1165,16 +1165,16 @@ static int kvm_live_open_events(struct perf_kvm_stat *kvm)
struct perf_event_attr *attr = &pos->attr;
/* make sure these *are* set */
- attr->sample_type |= PERF_SAMPLE_TID;
- attr->sample_type |= PERF_SAMPLE_TIME;
- attr->sample_type |= PERF_SAMPLE_CPU;
- attr->sample_type |= PERF_SAMPLE_RAW;
+ perf_evsel__set_sample_bit(pos, TID);
+ perf_evsel__set_sample_bit(pos, TIME);
+ perf_evsel__set_sample_bit(pos, CPU);
+ perf_evsel__set_sample_bit(pos, RAW);
/* make sure these are *not*; want as small a sample as possible */
- attr->sample_type &= ~PERF_SAMPLE_PERIOD;
- attr->sample_type &= ~PERF_SAMPLE_IP;
- attr->sample_type &= ~PERF_SAMPLE_CALLCHAIN;
- attr->sample_type &= ~PERF_SAMPLE_ADDR;
- attr->sample_type &= ~PERF_SAMPLE_READ;
+ perf_evsel__reset_sample_bit(pos, PERIOD);
+ perf_evsel__reset_sample_bit(pos, IP);
+ perf_evsel__reset_sample_bit(pos, CALLCHAIN);
+ perf_evsel__reset_sample_bit(pos, ADDR);
+ perf_evsel__reset_sample_bit(pos, READ);
attr->mmap = 0;
attr->comm = 0;
attr->task = 0;
--
1.7.11.7
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH V2 1/2] perf tools: fix id pos in perf_evlist__open()
2013-09-06 19:40 ` [PATCH V2 1/2] perf tools: fix id pos in perf_evlist__open() Adrian Hunter
@ 2013-09-07 14:20 ` David Ahern
2013-09-09 18:54 ` Arnaldo Carvalho de Melo
2013-09-12 11:10 ` [tip:perf/urgent] perf evlist: Fix " tip-bot for Adrian Hunter
1 sibling, 1 reply; 8+ messages in thread
From: David Ahern @ 2013-09-07 14:20 UTC (permalink / raw)
To: Adrian Hunter
Cc: Arnaldo Carvalho de Melo, Peter Zijlstra, linux-kernel,
Frederic Weisbecker, Jiri Olsa, Mike Galbraith, Namhyung Kim,
Paul Mackerras, Stephane Eranian
On 9/6/13 1:40 PM, Adrian Hunter wrote:
> Ensure the id_pos is correct when perf_evlist__open()
> is used.
The commit log should reference 7556257 and breakage of 'kvm stat live';
helps identify patches when backporting.
Other than that this patch fixes the problem.
Tested-by and Acked-by David Ahern <dsahern@gmail.com>
>
> Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
> ---
> tools/perf/util/evlist.c | 12 ++++++++++++
> 1 file changed, 12 insertions(+)
>
> diff --git a/tools/perf/util/evlist.c b/tools/perf/util/evlist.c
> index b8727ae..005c0eb 100644
> --- a/tools/perf/util/evlist.c
> +++ b/tools/perf/util/evlist.c
> @@ -64,6 +64,16 @@ void perf_evlist__set_id_pos(struct perf_evlist *evlist)
> evlist->is_pos = first->is_pos;
> }
>
> +static void perf_evlist__update_id_pos(struct perf_evlist *evlist)
> +{
> + struct perf_evsel *evsel;
> +
> + list_for_each_entry(evsel, &evlist->entries, node)
> + perf_evsel__calc_id_pos(evsel);
> +
> + perf_evlist__set_id_pos(evlist);
> +}
> +
> static void perf_evlist__purge(struct perf_evlist *evlist)
> {
> struct perf_evsel *pos, *n;
> @@ -915,6 +925,8 @@ int perf_evlist__open(struct perf_evlist *evlist)
> struct perf_evsel *evsel;
> int err;
>
> + perf_evlist__update_id_pos(evlist);
> +
> list_for_each_entry(evsel, &evlist->entries, node) {
> err = perf_evsel__open(evsel, evlist->cpus, evlist->threads);
> if (err < 0)
>
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH V2 2/2] perf kvm: fix sample_type manipulation
2013-09-06 19:40 ` [PATCH V2 2/2] perf kvm: fix sample_type manipulation Adrian Hunter
@ 2013-09-07 14:20 ` David Ahern
2013-09-12 11:10 ` [tip:perf/urgent] perf kvm: Fix " tip-bot for Adrian Hunter
1 sibling, 0 replies; 8+ messages in thread
From: David Ahern @ 2013-09-07 14:20 UTC (permalink / raw)
To: Adrian Hunter
Cc: Arnaldo Carvalho de Melo, Peter Zijlstra, linux-kernel,
Frederic Weisbecker, Jiri Olsa, Mike Galbraith, Namhyung Kim,
Paul Mackerras, Stephane Eranian
On 9/6/13 1:40 PM, Adrian Hunter wrote:
> Manipulating the sample_type of an evsel requires
> the use of:
> perf_evsel__set_sample_bit()
> and perf_evsel__reset_sample_bit()
>
> Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
Tested-by and Acked-by David Ahern <dsahern@gmail.com>
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH V2 1/2] perf tools: fix id pos in perf_evlist__open()
2013-09-07 14:20 ` David Ahern
@ 2013-09-09 18:54 ` Arnaldo Carvalho de Melo
0 siblings, 0 replies; 8+ messages in thread
From: Arnaldo Carvalho de Melo @ 2013-09-09 18:54 UTC (permalink / raw)
To: David Ahern
Cc: Adrian Hunter, Peter Zijlstra, linux-kernel, Frederic Weisbecker,
Jiri Olsa, Mike Galbraith, Namhyung Kim, Paul Mackerras,
Stephane Eranian
Em Sat, Sep 07, 2013 at 08:20:10AM -0600, David Ahern escreveu:
> On 9/6/13 1:40 PM, Adrian Hunter wrote:
> >Ensure the id_pos is correct when perf_evlist__open()
> >is used.
>
> The commit log should reference 7556257 and breakage of 'kvm stat
> live'; helps identify patches when backporting.
>
> Other than that this patch fixes the problem.
Thanks, I'm ammending the commit message log.
> Tested-by and Acked-by David Ahern <dsahern@gmail.com>
>
> >
> >Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
> >---
> > tools/perf/util/evlist.c | 12 ++++++++++++
> > 1 file changed, 12 insertions(+)
> >
> >diff --git a/tools/perf/util/evlist.c b/tools/perf/util/evlist.c
> >index b8727ae..005c0eb 100644
> >--- a/tools/perf/util/evlist.c
> >+++ b/tools/perf/util/evlist.c
> >@@ -64,6 +64,16 @@ void perf_evlist__set_id_pos(struct perf_evlist *evlist)
> > evlist->is_pos = first->is_pos;
> > }
> >
> >+static void perf_evlist__update_id_pos(struct perf_evlist *evlist)
> >+{
> >+ struct perf_evsel *evsel;
> >+
> >+ list_for_each_entry(evsel, &evlist->entries, node)
> >+ perf_evsel__calc_id_pos(evsel);
> >+
> >+ perf_evlist__set_id_pos(evlist);
> >+}
> >+
> > static void perf_evlist__purge(struct perf_evlist *evlist)
> > {
> > struct perf_evsel *pos, *n;
> >@@ -915,6 +925,8 @@ int perf_evlist__open(struct perf_evlist *evlist)
> > struct perf_evsel *evsel;
> > int err;
> >
> >+ perf_evlist__update_id_pos(evlist);
> >+
> > list_for_each_entry(evsel, &evlist->entries, node) {
> > err = perf_evsel__open(evsel, evlist->cpus, evlist->threads);
> > if (err < 0)
> >
^ permalink raw reply [flat|nested] 8+ messages in thread
* [tip:perf/urgent] perf evlist: Fix id pos in perf_evlist__open()
2013-09-06 19:40 ` [PATCH V2 1/2] perf tools: fix id pos in perf_evlist__open() Adrian Hunter
2013-09-07 14:20 ` David Ahern
@ 2013-09-12 11:10 ` tip-bot for Adrian Hunter
1 sibling, 0 replies; 8+ messages in thread
From: tip-bot for Adrian Hunter @ 2013-09-12 11:10 UTC (permalink / raw)
To: linux-tip-commits
Cc: acme, linux-kernel, eranian, paulus, hpa, mingo, a.p.zijlstra,
efault, namhyung, jolsa, fweisbec, adrian.hunter, dsahern, tglx
Commit-ID: 733cd2fe197a0c696c54916f7395451c0da9b867
Gitweb: http://git.kernel.org/tip/733cd2fe197a0c696c54916f7395451c0da9b867
Author: Adrian Hunter <adrian.hunter@intel.com>
AuthorDate: Fri, 6 Sep 2013 22:40:11 +0300
Committer: Arnaldo Carvalho de Melo <acme@redhat.com>
CommitDate: Mon, 9 Sep 2013 15:51:44 -0300
perf evlist: Fix id pos in perf_evlist__open()
Ensure the id_pos is correct when perf_evlist__open() is used.
This fixes a problem introduced in 7556257 that broke 'perf kvm stat
live' in that this tool wasn't updated to use the sample_type bits
setting helpers.
Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
Tested-by: David Ahern <dsahern@gmail.com>
Acked-by: David Ahern <dsahern@gmail.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Namhyung Kim <namhyung@gmail.com>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Stephane Eranian <eranian@google.com>
Link: http://lkml.kernel.org/r/1378496412-2424-2-git-send-email-adrian.hunter@intel.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/perf/util/evlist.c | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/tools/perf/util/evlist.c b/tools/perf/util/evlist.c
index 7101283..f9f77be 100644
--- a/tools/perf/util/evlist.c
+++ b/tools/perf/util/evlist.c
@@ -64,6 +64,16 @@ void perf_evlist__set_id_pos(struct perf_evlist *evlist)
evlist->is_pos = first->is_pos;
}
+static void perf_evlist__update_id_pos(struct perf_evlist *evlist)
+{
+ struct perf_evsel *evsel;
+
+ list_for_each_entry(evsel, &evlist->entries, node)
+ perf_evsel__calc_id_pos(evsel);
+
+ perf_evlist__set_id_pos(evlist);
+}
+
static void perf_evlist__purge(struct perf_evlist *evlist)
{
struct perf_evsel *pos, *n;
@@ -920,6 +930,8 @@ int perf_evlist__open(struct perf_evlist *evlist)
struct perf_evsel *evsel;
int err;
+ perf_evlist__update_id_pos(evlist);
+
list_for_each_entry(evsel, &evlist->entries, node) {
err = perf_evsel__open(evsel, evlist->cpus, evlist->threads);
if (err < 0)
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [tip:perf/urgent] perf kvm: Fix sample_type manipulation
2013-09-06 19:40 ` [PATCH V2 2/2] perf kvm: fix sample_type manipulation Adrian Hunter
2013-09-07 14:20 ` David Ahern
@ 2013-09-12 11:10 ` tip-bot for Adrian Hunter
1 sibling, 0 replies; 8+ messages in thread
From: tip-bot for Adrian Hunter @ 2013-09-12 11:10 UTC (permalink / raw)
To: linux-tip-commits
Cc: acme, linux-kernel, eranian, paulus, hpa, mingo, a.p.zijlstra,
efault, namhyung, jolsa, fweisbec, adrian.hunter, dsahern, tglx
Commit-ID: e71aa28312b208a14cd87fa61e941ac8c85072f4
Gitweb: http://git.kernel.org/tip/e71aa28312b208a14cd87fa61e941ac8c85072f4
Author: Adrian Hunter <adrian.hunter@intel.com>
AuthorDate: Fri, 6 Sep 2013 22:40:12 +0300
Committer: Arnaldo Carvalho de Melo <acme@redhat.com>
CommitDate: Mon, 9 Sep 2013 16:13:11 -0300
perf kvm: Fix sample_type manipulation
Manipulating the sample_type of an evsel requires the use of:
perf_evsel__set_sample_bit()
and perf_evsel__reset_sample_bit()
Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
Tested-by: David Ahern <dsahern@gmail.com>
Acked-by: David Ahern <dsahern@gmail.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Namhyung Kim <namhyung@gmail.com>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Stephane Eranian <eranian@google.com>
Link: http://lkml.kernel.org/r/1378496412-2424-3-git-send-email-adrian.hunter@intel.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/perf/builtin-kvm.c | 18 +++++++++---------
1 file changed, 9 insertions(+), 9 deletions(-)
diff --git a/tools/perf/builtin-kvm.c b/tools/perf/builtin-kvm.c
index 47b3540..935d522 100644
--- a/tools/perf/builtin-kvm.c
+++ b/tools/perf/builtin-kvm.c
@@ -1165,16 +1165,16 @@ static int kvm_live_open_events(struct perf_kvm_stat *kvm)
struct perf_event_attr *attr = &pos->attr;
/* make sure these *are* set */
- attr->sample_type |= PERF_SAMPLE_TID;
- attr->sample_type |= PERF_SAMPLE_TIME;
- attr->sample_type |= PERF_SAMPLE_CPU;
- attr->sample_type |= PERF_SAMPLE_RAW;
+ perf_evsel__set_sample_bit(pos, TID);
+ perf_evsel__set_sample_bit(pos, TIME);
+ perf_evsel__set_sample_bit(pos, CPU);
+ perf_evsel__set_sample_bit(pos, RAW);
/* make sure these are *not*; want as small a sample as possible */
- attr->sample_type &= ~PERF_SAMPLE_PERIOD;
- attr->sample_type &= ~PERF_SAMPLE_IP;
- attr->sample_type &= ~PERF_SAMPLE_CALLCHAIN;
- attr->sample_type &= ~PERF_SAMPLE_ADDR;
- attr->sample_type &= ~PERF_SAMPLE_READ;
+ perf_evsel__reset_sample_bit(pos, PERIOD);
+ perf_evsel__reset_sample_bit(pos, IP);
+ perf_evsel__reset_sample_bit(pos, CALLCHAIN);
+ perf_evsel__reset_sample_bit(pos, ADDR);
+ perf_evsel__reset_sample_bit(pos, READ);
attr->mmap = 0;
attr->comm = 0;
attr->task = 0;
^ permalink raw reply related [flat|nested] 8+ messages in thread
end of thread, other threads:[~2013-09-12 11:11 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-09-06 19:40 [PATCH V2 0/2] perf kvm: fix sample_type manipulation Adrian Hunter
2013-09-06 19:40 ` [PATCH V2 1/2] perf tools: fix id pos in perf_evlist__open() Adrian Hunter
2013-09-07 14:20 ` David Ahern
2013-09-09 18:54 ` Arnaldo Carvalho de Melo
2013-09-12 11:10 ` [tip:perf/urgent] perf evlist: Fix " tip-bot for Adrian Hunter
2013-09-06 19:40 ` [PATCH V2 2/2] perf kvm: fix sample_type manipulation Adrian Hunter
2013-09-07 14:20 ` David Ahern
2013-09-12 11:10 ` [tip:perf/urgent] perf kvm: Fix " tip-bot for Adrian Hunter
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox