From: Mathieu Poirier <mathieu.poirier@linaro.org>
To: gregkh@linuxfoundation.org, a.p.zijlstra@chello.nl,
alexander.shishkin@linux.intel.com, acme@kernel.org,
mingo@redhat.com, corbet@lwn.net, nicolas.pitre@linaro.org
Cc: adrian.hunter@intel.com, zhang.chunyan@linaro.org,
mike.leach@arm.com, tor@ti.com, al.grant@arm.com,
pawel.moll@arm.com, fainelli@broadcom.com,
linux-arm-kernel@lists.infradead.org, linux-doc@vger.kernel.org,
linux-kernel@vger.kernel.org, mathieu.poirier@linaro.org
Subject: [PATCH V3 24/26] perf tools: adding perf_session to *info_prive_size()
Date: Wed, 11 Nov 2015 15:18:14 -0700 [thread overview]
Message-ID: <1447280296-19147-25-git-send-email-mathieu.poirier@linaro.org> (raw)
In-Reply-To: <1447280296-19147-1-git-send-email-mathieu.poirier@linaro.org>
On some architecture the size of the private header may
be dependent on the number of tracers used in the session. As
such adding a "struct perf_session" parameter, which should
contain all the required information.
Also adjusting the existing client of the interface to take
the new parameter into account.
Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
---
tools/perf/arch/x86/util/intel-bts.c | 4 +++-
tools/perf/arch/x86/util/intel-pt.c | 4 +++-
tools/perf/util/auxtrace.c | 7 ++++---
tools/perf/util/auxtrace.h | 6 ++++--
4 files changed, 14 insertions(+), 7 deletions(-)
diff --git a/tools/perf/arch/x86/util/intel-bts.c b/tools/perf/arch/x86/util/intel-bts.c
index 9b94ce520917..6efdc5e86d97 100644
--- a/tools/perf/arch/x86/util/intel-bts.c
+++ b/tools/perf/arch/x86/util/intel-bts.c
@@ -60,7 +60,9 @@ struct branch {
u64 misc;
};
-static size_t intel_bts_info_priv_size(struct auxtrace_record *itr __maybe_unused)
+static size_t
+intel_bts_info_priv_size(struct auxtrace_record *itr __maybe_unused,
+ struct perf_session *session __maybe_unused)
{
return INTEL_BTS_AUXTRACE_PRIV_SIZE;
}
diff --git a/tools/perf/arch/x86/util/intel-pt.c b/tools/perf/arch/x86/util/intel-pt.c
index 2ca10d796c0b..1fd9a16f668c 100644
--- a/tools/perf/arch/x86/util/intel-pt.c
+++ b/tools/perf/arch/x86/util/intel-pt.c
@@ -273,7 +273,9 @@ intel_pt_pmu_default_config(struct perf_pmu *intel_pt_pmu)
return attr;
}
-static size_t intel_pt_info_priv_size(struct auxtrace_record *itr __maybe_unused)
+static size_t
+intel_pt_info_priv_size(struct auxtrace_record *itr __maybe_unused,
+ struct perf_session *session __maybe_unused)
{
return INTEL_PT_AUXTRACE_PRIV_SIZE;
}
diff --git a/tools/perf/util/auxtrace.c b/tools/perf/util/auxtrace.c
index a980e7c50ee0..430df9575dbe 100644
--- a/tools/perf/util/auxtrace.c
+++ b/tools/perf/util/auxtrace.c
@@ -478,10 +478,11 @@ void auxtrace_heap__pop(struct auxtrace_heap *heap)
heap_array[last].ordinal);
}
-size_t auxtrace_record__info_priv_size(struct auxtrace_record *itr)
+size_t auxtrace_record__info_priv_size(struct auxtrace_record *itr,
+ struct perf_session *session)
{
if (itr)
- return itr->info_priv_size(itr);
+ return itr->info_priv_size(itr, session);
return 0;
}
@@ -852,7 +853,7 @@ int perf_event__synthesize_auxtrace_info(struct auxtrace_record *itr,
int err;
pr_debug2("Synthesizing auxtrace information\n");
- priv_size = auxtrace_record__info_priv_size(itr);
+ priv_size = auxtrace_record__info_priv_size(itr, session);
ev = zalloc(sizeof(struct auxtrace_info_event) + priv_size);
if (!ev)
return -ENOMEM;
diff --git a/tools/perf/util/auxtrace.h b/tools/perf/util/auxtrace.h
index bf72b77a588a..d76177169484 100644
--- a/tools/perf/util/auxtrace.h
+++ b/tools/perf/util/auxtrace.h
@@ -289,7 +289,8 @@ struct auxtrace_record {
int (*recording_options)(struct auxtrace_record *itr,
struct perf_evlist *evlist,
struct record_opts *opts);
- size_t (*info_priv_size)(struct auxtrace_record *itr);
+ size_t (*info_priv_size)(struct auxtrace_record *itr,
+ struct perf_session *session);
int (*info_fill)(struct auxtrace_record *itr,
struct perf_session *session,
struct auxtrace_info_event *auxtrace_info,
@@ -425,7 +426,8 @@ int auxtrace_parse_snapshot_options(struct auxtrace_record *itr,
int auxtrace_record__options(struct auxtrace_record *itr,
struct perf_evlist *evlist,
struct record_opts *opts);
-size_t auxtrace_record__info_priv_size(struct auxtrace_record *itr);
+size_t auxtrace_record__info_priv_size(struct auxtrace_record *itr,
+ struct perf_session *session);
int auxtrace_record__info_fill(struct auxtrace_record *itr,
struct perf_session *session,
struct auxtrace_info_event *auxtrace_info,
--
1.9.1
next prev parent reply other threads:[~2015-11-11 22:21 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-11-11 22:17 [PATCH V3 00/26] Coresight integration with perf Mathieu Poirier
2015-11-11 22:17 ` [PATCH V3 01/26] coresight: etm3x: moving etm_readl/writel to header file Mathieu Poirier
2015-11-11 22:17 ` [PATCH V3 02/26] coresight: etm3x: moving sysFS entries to dedicated file Mathieu Poirier
2015-11-11 22:30 ` Arnd Bergmann
2015-11-13 16:17 ` Mathieu Poirier
2015-11-13 16:26 ` Arnd Bergmann
2015-11-11 22:17 ` [PATCH V3 03/26] coresight: etm3x: unlocking tracers in default arch init Mathieu Poirier
2015-11-11 22:17 ` [PATCH V3 04/26] coresight: etm3x: splitting struct etm_drvdata Mathieu Poirier
2015-11-11 22:17 ` [PATCH V3 05/26] coresight: etm3x: implementing 'cpu_id()' API Mathieu Poirier
2015-11-11 22:17 ` [PATCH V3 06/26] coresight: associating path with session rather than tracer Mathieu Poirier
2015-11-11 22:17 ` [PATCH V3 07/26] coresight: moving PM runtime operations to core framework Mathieu Poirier
2015-11-11 22:17 ` [PATCH V3 08/26] coresight: etm3x: adding operation mode for etm_enable() Mathieu Poirier
2015-11-11 22:17 ` [PATCH V3 09/26] coresight: add API to get sink from path Mathieu Poirier
2015-11-11 22:18 ` [PATCH V3 10/26] coresight: etm3x: set progbit to stop trace collection Mathieu Poirier
2015-11-11 22:18 ` [PATCH V3 11/26] coresight: etm3x: changing default trace configuration Mathieu Poirier
2015-11-11 22:18 ` [PATCH V3 12/26] coresight: etm3x: consolidating initial config Mathieu Poirier
2015-11-11 22:18 ` [PATCH V3 13/26] coresight: etm3x: implementing user/kernel mode tracing Mathieu Poirier
2015-11-11 22:18 ` [PATCH V3 14/26] coresight: etm3x: adding perf_get/set_config() API Mathieu Poirier
2015-11-11 22:18 ` [PATCH V3 15/26] coresight: etm3x: implementing perf_enable/disable() API Mathieu Poirier
2015-11-11 22:18 ` [PATCH V3 16/26] perf: changing pmu::setup_aux() parameter to include event Mathieu Poirier
2015-11-11 22:18 ` [PATCH V3 17/26] coresight: etb10: moving to local atomic operations Mathieu Poirier
2015-11-11 22:18 ` [PATCH V3 18/26] coresight: adding operation mode for sink->enable() Mathieu Poirier
2015-11-11 22:18 ` [PATCH V3 19/26] coresight: etb10: implementing AUX space API Mathieu Poirier
2015-11-11 22:18 ` [PATCH V3 20/26] coresight: etm-perf: new PMU driver for ETM tracers Mathieu Poirier
2015-11-11 22:18 ` [PATCH V3 21/26] coresight: introducing a global trace ID function Mathieu Poirier
2015-11-11 22:18 ` [PATCH V3 22/26] coresight: updating documentation to reflect integration with perf Mathieu Poirier
2015-11-11 22:18 ` [PATCH V3 23/26] perf tools: making function set_max_cpu_num() non static Mathieu Poirier
2015-11-11 22:18 ` Mathieu Poirier [this message]
2015-11-11 22:18 ` [PATCH V3 25/26] perf tools: making coresight PMU listable Mathieu Poirier
2015-11-11 22:18 ` [PATCH V3 26/26] perf tools: adding coresight etm PMU record capabilities Mathieu Poirier
2015-11-12 10:53 ` [PATCH V3 00/26] Coresight integration with perf Alexander Shishkin
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=1447280296-19147-25-git-send-email-mathieu.poirier@linaro.org \
--to=mathieu.poirier@linaro.org \
--cc=a.p.zijlstra@chello.nl \
--cc=acme@kernel.org \
--cc=adrian.hunter@intel.com \
--cc=al.grant@arm.com \
--cc=alexander.shishkin@linux.intel.com \
--cc=corbet@lwn.net \
--cc=fainelli@broadcom.com \
--cc=gregkh@linuxfoundation.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mike.leach@arm.com \
--cc=mingo@redhat.com \
--cc=nicolas.pitre@linaro.org \
--cc=pawel.moll@arm.com \
--cc=tor@ti.com \
--cc=zhang.chunyan@linaro.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®