From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753185AbbKZRz1 (ORCPT ); Thu, 26 Nov 2015 12:55:27 -0500 Received: from mx1.redhat.com ([209.132.183.28]:46610 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752442AbbKZRzY (ORCPT ); Thu, 26 Nov 2015 12:55:24 -0500 Date: Thu, 26 Nov 2015 18:55:21 +0100 From: Jiri Olsa To: Arnaldo Carvalho de Melo Cc: Jiri Olsa , lkml , David Ahern , Ingo Molnar , Namhyung Kim , Peter Zijlstra Subject: [PATCHv2 2/3] perf script: Pass perf_script into process_event Message-ID: <20151126175521.GA18979@krava.brq.redhat.com> References: <1448546125-29245-1-git-send-email-jolsa@kernel.org> <1448546125-29245-2-git-send-email-jolsa@kernel.org> <20151126162226.GF2945@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20151126162226.GF2945@kernel.org> User-Agent: Mutt/1.5.24 (2015-08-30) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Nov 26, 2015 at 01:22:26PM -0300, Arnaldo Carvalho de Melo wrote: > Em Thu, Nov 26, 2015 at 02:55:24PM +0100, Jiri Olsa escreveu: > > Passing perf_script struct into process_event function. > > For? Please write the motivation for a patch. for patch 3 ;-) attached with new changelog perf/fixes branch is updated thanks, jirka --- Passing perf_script struct into process_event function, so we could process configuration data for event printing. It will be used in following patch to get event name string width. Link: http://lkml.kernel.org/n/tip-jad0bjspvazzf5v4bsnz74ax@git.kernel.org Signed-off-by: Jiri Olsa --- tools/perf/builtin-script.c | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/tools/perf/builtin-script.c b/tools/perf/builtin-script.c index 8e3f8048d2d0..3c3f8d0e3064 100644 --- a/tools/perf/builtin-script.c +++ b/tools/perf/builtin-script.c @@ -588,8 +588,17 @@ static void print_sample_flags(u32 flags) printf(" %-4s ", str); } -static void process_event(union perf_event *event, struct perf_sample *sample, - struct perf_evsel *evsel, struct addr_location *al) +struct perf_script { + struct perf_tool tool; + struct perf_session *session; + bool show_task_events; + bool show_mmap_events; + bool show_switch_events; +}; + +static void process_event(struct perf_script *script __maybe_unused, union perf_event *event, + struct perf_sample *sample, struct perf_evsel *evsel, + struct addr_location *al) { struct thread *thread = al->thread; struct perf_event_attr *attr = &evsel->attr; @@ -663,12 +672,13 @@ static int cleanup_scripting(void) return scripting_ops ? scripting_ops->stop_script() : 0; } -static int process_sample_event(struct perf_tool *tool __maybe_unused, +static int process_sample_event(struct perf_tool *tool, union perf_event *event, struct perf_sample *sample, struct perf_evsel *evsel, struct machine *machine) { + struct perf_script *scr = container_of(tool, struct perf_script, tool); struct addr_location al; if (debug_mode) { @@ -697,21 +707,13 @@ static int process_sample_event(struct perf_tool *tool __maybe_unused, if (scripting_ops) scripting_ops->process_event(event, sample, evsel, &al); else - process_event(event, sample, evsel, &al); + process_event(scr, event, sample, evsel, &al); out_put: addr_location__put(&al); return 0; } -struct perf_script { - struct perf_tool tool; - struct perf_session *session; - bool show_task_events; - bool show_mmap_events; - bool show_switch_events; -}; - static int process_attr(struct perf_tool *tool, union perf_event *event, struct perf_evlist **pevlist) { -- 2.4.3