All of lore.kernel.org
 help / color / mirror / Atom feed
From: Arnaldo Carvalho de Melo <acme@kernel.org>
To: Namhyung Kim <namhyung@kernel.org>
Cc: Ian Rogers <irogers@google.com>,
	Kan Liang <kan.liang@linux.intel.com>,
	Jiri Olsa <jolsa@kernel.org>,
	Adrian Hunter <adrian.hunter@intel.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Ingo Molnar <mingo@kernel.org>,
	LKML <linux-kernel@vger.kernel.org>,
	linux-perf-users@vger.kernel.org,
	Athira Rajeev <atrajeev@linux.vnet.ibm.com>
Subject: Re: [PATCH 2/6] perf annotate: Remove __annotation_line__write()
Date: Thu, 5 Jun 2025 16:55:22 -0300	[thread overview]
Message-ID: <aEH2KoxicdjYUW1g@x1> (raw)
In-Reply-To: <20250601065302.12531-3-namhyung@kernel.org>

On Sat, May 31, 2025 at 11:52:58PM -0700, Namhyung Kim wrote:
> Get rid of the internal function and convert function arguments into
> local variables if they are used more then twice.

"more than once"? "twice or more"?

- Arnaldo

> 
> Signed-off-by: Namhyung Kim <namhyung@kernel.org>
> ---
>  tools/perf/util/annotate.c | 49 ++++++++++++++++----------------------
>  1 file changed, 20 insertions(+), 29 deletions(-)
> 
> diff --git a/tools/perf/util/annotate.c b/tools/perf/util/annotate.c
> index 264a212b47df850c..48fac08c4c9502b1 100644
> --- a/tools/perf/util/annotate.c
> +++ b/tools/perf/util/annotate.c
> @@ -1934,24 +1934,25 @@ int annotation_br_cntr_entry(char **str, int br_cntr_nr,
>  	return -ENOMEM;
>  }
>  
> -static void __annotation_line__write(struct annotation_line *al, struct annotation *notes,
> -				     bool first_line, bool current_entry, bool change_color, int width,
> -				     void *obj, unsigned int percent_type,
> -				     int  (*obj__set_color)(void *obj, int color),
> -				     void (*obj__set_percent_color)(void *obj, double percent, bool current),
> -				     int  (*obj__set_jumps_percent_color)(void *obj, int nr, bool current),
> -				     void (*obj__printf)(void *obj, const char *fmt, ...),
> -				     void (*obj__write_graph)(void *obj, int graph))
> -
> -{
> -	double percent_max = annotation_line__max_percent(al, percent_type);
> -	int pcnt_width = annotation__pcnt_width(notes),
> -	    cycles_width = annotation__cycles_width(notes);
> +void annotation_line__write(struct annotation_line *al, struct annotation *notes,
> +			    struct annotation_write_ops *wops)
> +{
> +	bool current_entry = wops->current_entry;
> +	double percent_max = annotation_line__max_percent(al, annotate_opts.percent_type);
> +	int width = wops->width;
> +	int pcnt_width = annotation__pcnt_width(notes);
> +	int cycles_width = annotation__cycles_width(notes);
>  	bool show_title = false;
>  	char bf[256];
>  	int printed;
> -
> -	if (first_line && (al->offset == -1 || percent_max == 0.0)) {
> +	void *obj = wops->obj;
> +	int  (*obj__set_color)(void *obj, int color) = wops->set_color;
> +	void (*obj__set_percent_color)(void *obj, double percent, bool current) = wops->set_percent_color;
> +	int  (*obj__set_jumps_percent_color)(void *obj, int nr, bool current) = wops->set_jumps_percent_color;
> +	void (*obj__printf)(void *obj, const char *fmt, ...) = wops->printf;
> +	void (*obj__write_graph)(void *obj, int graph) = wops->write_graph;
> +
> +	if (wops->first_line && (al->offset == -1 || percent_max == 0.0)) {
>  		if (notes->branch && al->cycles) {
>  			if (al->cycles->ipc == 0.0 && al->cycles->avg == 0)
>  				show_title = true;
> @@ -1965,7 +1966,8 @@ static void __annotation_line__write(struct annotation_line *al, struct annotati
>  		for (i = 0; i < al->data_nr; i++) {
>  			double percent;
>  
> -			percent = annotation_data__percent(&al->data[i], percent_type);
> +			percent = annotation_data__percent(&al->data[i],
> +							   annotate_opts.percent_type);
>  
>  			obj__set_percent_color(obj, percent, current_entry);
>  			if (symbol_conf.show_total_period) {
> @@ -2101,10 +2103,10 @@ static void __annotation_line__write(struct annotation_line *al, struct annotati
>  			}
>  		}
>  
> -		if (change_color)
> +		if (wops->change_color)
>  			color = obj__set_color(obj, HE_COLORSET_ADDR);
>  		obj__printf(obj, bf);
> -		if (change_color)
> +		if (wops->change_color)
>  			obj__set_color(obj, color);
>  
>  		disasm_line__write(disasm_line(al), notes, obj, bf, sizeof(bf), obj__printf, obj__write_graph);
> @@ -2114,17 +2116,6 @@ static void __annotation_line__write(struct annotation_line *al, struct annotati
>  
>  }
>  
> -void annotation_line__write(struct annotation_line *al, struct annotation *notes,
> -			    struct annotation_write_ops *wops)
> -{
> -	__annotation_line__write(al, notes, wops->first_line, wops->current_entry,
> -				 wops->change_color, wops->width, wops->obj,
> -				 annotate_opts.percent_type,
> -				 wops->set_color, wops->set_percent_color,
> -				 wops->set_jumps_percent_color, wops->printf,
> -				 wops->write_graph);
> -}
> -
>  int symbol__annotate2(struct map_symbol *ms, struct evsel *evsel,
>  		      struct arch **parch)
>  {
> -- 
> 2.49.0

  reply	other threads:[~2025-06-05 19:55 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-06-01  6:52 [PATCHSET 0/6] perf annotate: Support --code-with-type on TUI (v1) Namhyung Kim
2025-06-01  6:52 ` [PATCH 1/6] perf annotate: Rename to __hist_entry__tui_annotate() Namhyung Kim
2025-06-01  6:52 ` [PATCH 2/6] perf annotate: Remove __annotation_line__write() Namhyung Kim
2025-06-05 19:55   ` Arnaldo Carvalho de Melo [this message]
2025-06-05 19:59     ` Arnaldo Carvalho de Melo
2025-06-06  2:59       ` Namhyung Kim
2025-06-01  6:52 ` [PATCH 3/6] perf annotate: Pass annotation_print_data to annotaiton_line__write() Namhyung Kim
2025-06-05 20:44   ` Arnaldo Carvalho de Melo
2025-06-06  3:00     ` Namhyung Kim
2025-06-01  6:53 ` [PATCH 4/6] perf annotate: Simplify width calculation in annotation_line__write() Namhyung Kim
2025-06-01  6:53 ` [PATCH 5/6] perf annotate: Add --code-with-type support for TUI Namhyung Kim
2025-06-01  6:53 ` [PATCH 6/6] perf annotate: Add 'y' hot key to toggle data type display Namhyung Kim
2025-06-05 20:46   ` Arnaldo Carvalho de Melo
2025-06-05 21:12     ` Arnaldo Carvalho de Melo
2025-06-06  3:11       ` Namhyung Kim
2025-06-06  3:04     ` Namhyung Kim

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=aEH2KoxicdjYUW1g@x1 \
    --to=acme@kernel.org \
    --cc=adrian.hunter@intel.com \
    --cc=atrajeev@linux.vnet.ibm.com \
    --cc=irogers@google.com \
    --cc=jolsa@kernel.org \
    --cc=kan.liang@linux.intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-perf-users@vger.kernel.org \
    --cc=mingo@kernel.org \
    --cc=namhyung@kernel.org \
    --cc=peterz@infradead.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.