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