From: Arnaldo Carvalho de Melo <acme@kernel.org>
To: Kan Liang <kan.liang@intel.com>
Cc: jolsa@kernel.org, a.p.zijlstra@chello.nl, luto@kernel.org,
mingo@redhat.com, eranian@google.com, ak@linux.intel.com,
mark.rutland@arm.com, adrian.hunter@intel.com,
namhyung@kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH V7 5/8] perf evsel: Add a backpointer to the evlist a evsel is in
Date: Fri, 28 Aug 2015 14:47:06 -0300 [thread overview]
Message-ID: <20150828174706.GJ11407@kernel.org> (raw)
In-Reply-To: <1440755289-30939-6-git-send-email-kan.liang@intel.com>
Em Fri, Aug 28, 2015 at 05:48:06AM -0400, Kan Liang escreveu:
> From: Arnaldo Carvalho de Melo <acme@redhat.com>
>
> So that functions that deal primarily with an evsel to access
> information that concerns the whole evlist it is in.
Also already in my perf/core branch.
> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
> Signed-off-by: Kan Liang <kan.liang@intel.com>
> ---
> tools/perf/util/evlist.c | 2 ++
> tools/perf/util/evsel.c | 2 ++
> tools/perf/util/evsel.h | 4 ++++
> 3 files changed, 8 insertions(+)
>
> diff --git a/tools/perf/util/evlist.c b/tools/perf/util/evlist.c
> index 373f65b..a8cc440 100644
> --- a/tools/perf/util/evlist.c
> +++ b/tools/perf/util/evlist.c
> @@ -98,6 +98,7 @@ static void perf_evlist__purge(struct perf_evlist *evlist)
>
> evlist__for_each_safe(evlist, n, pos) {
> list_del_init(&pos->node);
> + pos->evlist = NULL;
> perf_evsel__delete(pos);
> }
>
> @@ -125,6 +126,7 @@ void perf_evlist__delete(struct perf_evlist *evlist)
>
> void perf_evlist__add(struct perf_evlist *evlist, struct perf_evsel *entry)
> {
> + entry->evlist = evlist;
> list_add_tail(&entry->node, &evlist->entries);
> entry->idx = evlist->nr_entries;
> entry->tracking = !entry->idx;
> diff --git a/tools/perf/util/evsel.c b/tools/perf/util/evsel.c
> index b096ef7..bac25f4 100644
> --- a/tools/perf/util/evsel.c
> +++ b/tools/perf/util/evsel.c
> @@ -206,6 +206,7 @@ void perf_evsel__init(struct perf_evsel *evsel,
> evsel->leader = evsel;
> evsel->unit = "";
> evsel->scale = 1.0;
> + evsel->evlist = NULL;
> INIT_LIST_HEAD(&evsel->node);
> INIT_LIST_HEAD(&evsel->config_terms);
> perf_evsel__object.init(evsel);
> @@ -1026,6 +1027,7 @@ void perf_evsel__close_fd(struct perf_evsel *evsel, int ncpus, int nthreads)
> void perf_evsel__exit(struct perf_evsel *evsel)
> {
> assert(list_empty(&evsel->node));
> + assert(evsel->evlist == NULL);
> perf_evsel__free_fd(evsel);
> perf_evsel__free_id(evsel);
> perf_evsel__free_config_terms(evsel);
> diff --git a/tools/perf/util/evsel.h b/tools/perf/util/evsel.h
> index 93ac6b1..298e6bb 100644
> --- a/tools/perf/util/evsel.h
> +++ b/tools/perf/util/evsel.h
> @@ -60,6 +60,9 @@ struct perf_evsel_config_term {
>
> /** struct perf_evsel - event selector
> *
> + * @evlist - evlist this evsel is in, if it is in one.
> + * @node - To insert it into evlist->entries or in other list_heads, say in
> + * the event parsing routines.
> * @name - Can be set to retain the original event name passed by the user,
> * so that when showing results in tools such as 'perf stat', we
> * show the name used, not some alias.
> @@ -73,6 +76,7 @@ struct perf_evsel_config_term {
> */
> struct perf_evsel {
> struct list_head node;
> + struct perf_evlist *evlist;
> struct perf_event_attr attr;
> char *filter;
> struct xyarray *fd;
> --
> 1.8.3.1
next prev parent reply other threads:[~2015-08-28 17:47 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-08-28 9:48 [PATCH V7 0/8] Freq/CPU%/CORE_BUSY% support Kan Liang
2015-08-28 9:48 ` [PATCH V7 1/8] perf,tools: introduce generic FEAT for CPU attributes Kan Liang
2015-08-31 9:46 ` Jiri Olsa
2015-08-28 9:48 ` [PATCH V7 2/8] perf,tools: read msr pmu type from header Kan Liang
2015-08-31 9:49 ` Jiri Olsa
2015-08-28 9:48 ` [PATCH V7 3/8] perf,tools: rename perf_session_env to perf_env Kan Liang
2015-08-28 17:45 ` Arnaldo Carvalho de Melo
2015-08-31 8:33 ` [tip:perf/core] perf tools: Rename " tip-bot for Kan Liang
2015-08-28 9:48 ` [PATCH V7 4/8] perf,tools: add backpointer for perf_env to evlist Kan Liang
2015-08-28 17:45 ` Arnaldo Carvalho de Melo
2015-08-31 8:33 ` [tip:perf/core] perf evlist: Add " tip-bot for Kan Liang
2015-08-28 9:48 ` [PATCH V7 5/8] perf evsel: Add a backpointer to the evlist a evsel is in Kan Liang
2015-08-28 17:47 ` Arnaldo Carvalho de Melo [this message]
2015-08-28 9:48 ` [PATCH V7 6/8] perf,tools: Dump per-sample freq/CPU%/CORE_BUSY% in report -D Kan Liang
2015-08-31 11:19 ` Jiri Olsa
2015-08-31 19:10 ` Liang, Kan
2015-08-31 11:19 ` Jiri Olsa
2015-08-31 20:33 ` Arnaldo Carvalho de Melo
2015-08-28 9:48 ` [PATCH V7 7/8] perf,tools: caculate and save freq/CPU%/CORE_BUSY% in he_stat Kan Liang
2015-08-28 9:48 ` [PATCH V7 8/8] perf,tools: Show freq/CPU%/CORE_BUSY% in perf report --stdio Kan Liang
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=20150828174706.GJ11407@kernel.org \
--to=acme@kernel.org \
--cc=a.p.zijlstra@chello.nl \
--cc=adrian.hunter@intel.com \
--cc=ak@linux.intel.com \
--cc=eranian@google.com \
--cc=jolsa@kernel.org \
--cc=kan.liang@intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=luto@kernel.org \
--cc=mark.rutland@arm.com \
--cc=mingo@redhat.com \
--cc=namhyung@kernel.org \
/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.