All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jiri Olsa <jolsa@redhat.com>
To: Jin Yao <yao.jin@linux.intel.com>
Cc: acme@kernel.org, jolsa@kernel.org, peterz@infradead.org,
	mingo@redhat.com, alexander.shishkin@linux.intel.com,
	Linux-kernel@vger.kernel.org, ak@linux.intel.com,
	kan.liang@intel.com, yao.jin@intel.com
Subject: Re: [PATCH v1 4/9] perf util: Update and print per-thread shadow stats
Date: Tue, 21 Nov 2017 16:17:49 +0100	[thread overview]
Message-ID: <20171121151749.GH20440@krava> (raw)
In-Reply-To: <1511189024-19908-5-git-send-email-yao.jin@linux.intel.com>

On Mon, Nov 20, 2017 at 10:43:39PM +0800, Jin Yao wrote:

SNIP

> diff --git a/tools/perf/util/stat-shadow.c b/tools/perf/util/stat-shadow.c
> index 045e129..6f28782 100644
> --- a/tools/perf/util/stat-shadow.c
> +++ b/tools/perf/util/stat-shadow.c
> @@ -110,19 +110,32 @@ static void saved_value_delete(struct rblist *rblist __maybe_unused,
>  
>  static struct saved_value *saved_value_lookup(struct perf_evsel *evsel,
>  					      int cpu,
> -					      bool create)
> +					      bool create,
> +					      enum stat_type type,
> +					      int ctx,
> +					      struct runtime_stat *stat)
>  {
> +	struct rblist *rblist;
>  	struct rb_node *nd;
>  	struct saved_value dm = {
>  		.cpu = cpu,
>  		.evsel = evsel,
> +		.type = type,
> +		.ctx = ctx,
> +		.stat = stat,
>  	};
> -	nd = rblist__find(&runtime_saved_values, &dm);
> +
> +	if (stat)
> +		rblist = &stat->value_list;
> +	else
> +		rblist = &rt_stat.value_list;

please pass the correct 'struct runtime_stat *stat',

I don't see a reason noot to pass &rt_stat directly below:


> diff --git a/tools/perf/util/stat.c b/tools/perf/util/stat.c
> index 151e9ef..50bb16d 100644
> --- a/tools/perf/util/stat.c
> +++ b/tools/perf/util/stat.c
> @@ -278,9 +278,16 @@ process_counter_values(struct perf_stat_config *config, struct perf_evsel *evsel
>  			perf_evsel__compute_deltas(evsel, cpu, thread, count);
>  		perf_counts_values__scale(count, config->scale, NULL);
>  		if (config->aggr_mode == AGGR_NONE)
> -			perf_stat__update_shadow_stats(evsel, count->val, cpu);
> -		if (config->aggr_mode == AGGR_THREAD)
> -			perf_stat__update_shadow_stats(evsel, count->val, 0);
> +			perf_stat__update_shadow_stats(evsel, count->val, cpu,
> +						       NULL);
> +		if (config->aggr_mode == AGGR_THREAD) {
> +			if (config->stats)
> +				perf_stat__update_shadow_stats(evsel,
> +					count->val, 0, &config->stats[thread]);
> +			else
> +				perf_stat__update_shadow_stats(evsel,
> +					count->val, 0, NULL);

here

> +		}
>  		break;
>  	case AGGR_GLOBAL:
>  		aggr->val += count->val;
> @@ -362,7 +369,7 @@ int perf_stat_process_counter(struct perf_stat_config *config,
>  	/*
>  	 * Save the full runtime - to allow normalization during printout:
>  	 */
> -	perf_stat__update_shadow_stats(counter, *count, 0);
> +	perf_stat__update_shadow_stats(counter, *count, 0, NULL);

and here

thanks,
jirka

  reply	other threads:[~2017-11-21 15:17 UTC|newest]

Thread overview: 49+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-11-20 14:43 [PATCH v1 0/9] perf stat: Enable '--per-thread' on all threads Jin Yao
2017-11-20  9:26 ` Jiri Olsa
2017-11-20 12:15   ` Jin, Yao
2017-11-20 12:29     ` Jiri Olsa
2017-11-20 15:50       ` Andi Kleen
2017-11-20 14:43 ` [PATCH v1 1/9] perf util: Create rblist__reset() function Jin Yao
2017-11-20 14:43 ` [PATCH v1 2/9] perf util: Define a structure for runtime shadow metrics stats Jin Yao
2017-11-21 15:18   ` Jiri Olsa
2017-11-22  3:11     ` Jin, Yao
2017-11-20 14:43 ` [PATCH v1 3/9] perf util: Reconstruct rblist for supporting per-thread shadow stats Jin Yao
2017-11-21 15:17   ` Jiri Olsa
2017-11-22  1:29     ` Jin, Yao
2017-11-22  8:30       ` Jiri Olsa
2017-11-21 15:17   ` Jiri Olsa
2017-11-22  1:35     ` Jin, Yao
2017-11-21 15:17   ` Jiri Olsa
2017-11-22  1:45     ` Jin, Yao
2017-11-21 15:17   ` Jiri Olsa
2017-11-22  2:11     ` Jin, Yao
2017-11-21 15:17   ` Jiri Olsa
2017-11-22  2:19     ` Jin, Yao
2017-11-21 15:17   ` Jiri Olsa
2017-11-22  2:20     ` Jin, Yao
2017-11-22  6:31   ` Ravi Bangoria
2017-11-22  6:57     ` Jin, Yao
2017-11-22  8:32       ` Jiri Olsa
2017-11-22 12:03         ` Jin, Yao
2017-11-20 14:43 ` [PATCH v1 4/9] perf util: Update and print " Jin Yao
2017-11-21 15:17   ` Jiri Olsa [this message]
2017-11-22  2:42     ` Jin, Yao
2017-11-21 15:18   ` Jiri Olsa
2017-11-22  3:10     ` Jin, Yao
2017-11-22  8:37       ` Jiri Olsa
2017-11-22 12:06         ` Jin, Yao
2017-11-20 14:43 ` [PATCH v1 5/9] perf util: Remove a set of shadow stats static variables Jin Yao
2017-11-21 15:17   ` Jiri Olsa
2017-11-21 18:03     ` Andi Kleen
2017-11-21 21:19       ` Jiri Olsa
2017-11-20 14:43 ` [PATCH v1 6/9] perf stat: Allocate shadow stats buffer for threads Jin Yao
2017-11-20 14:43 ` [PATCH v1 7/9] perf util: Reuse thread_map__new_by_uid to enumerate threads from /proc Jin Yao
2017-11-20 14:43 ` [PATCH v1 8/9] perf stat: Remove --per-thread pid/tid limitation Jin Yao
2017-11-21 15:18   ` Jiri Olsa
2017-11-22  3:42     ` Jin, Yao
2017-11-22  8:35       ` Jiri Olsa
2017-11-21 15:18   ` Jiri Olsa
2017-11-22  5:34     ` Jin, Yao
2017-11-21 15:18   ` Jiri Olsa
2017-11-22  5:38     ` Jin, Yao
2017-11-20 14:43 ` [PATCH v1 9/9] perf stat: Resort '--per-thread' result Jin Yao

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=20171121151749.GH20440@krava \
    --to=jolsa@redhat.com \
    --cc=Linux-kernel@vger.kernel.org \
    --cc=acme@kernel.org \
    --cc=ak@linux.intel.com \
    --cc=alexander.shishkin@linux.intel.com \
    --cc=jolsa@kernel.org \
    --cc=kan.liang@intel.com \
    --cc=mingo@redhat.com \
    --cc=peterz@infradead.org \
    --cc=yao.jin@intel.com \
    --cc=yao.jin@linux.intel.com \
    /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.