All of lore.kernel.org
 help / color / mirror / Atom feed
From: tip-bot for Jin Yao <tipbot@zytor.com>
To: linux-tip-commits@vger.kernel.org
Cc: peterz@infradead.org, hpa@zytor.com, mingo@kernel.org,
	kan.liang@intel.com, ak@linux.intel.com,
	linux-kernel@vger.kernel.org, tglx@linutronix.de,
	yao.jin@linux.intel.com, jolsa@kernel.org, acme@redhat.com,
	alexander.shishkin@linux.intel.com
Subject: [tip:perf/core] perf stat: Define a structure for per-thread shadow stats
Date: Thu, 28 Dec 2017 07:21:59 -0800	[thread overview]
Message-ID: <tip-e5fcc2abc353be94548080d84de3269ef6cc2af6@git.kernel.org> (raw)
In-Reply-To: <1512482591-4646-2-git-send-email-yao.jin@linux.intel.com>

Commit-ID:  e5fcc2abc353be94548080d84de3269ef6cc2af6
Gitweb:     https://git.kernel.org/tip/e5fcc2abc353be94548080d84de3269ef6cc2af6
Author:     Jin Yao <yao.jin@linux.intel.com>
AuthorDate: Tue, 5 Dec 2017 22:03:01 +0800
Committer:  Arnaldo Carvalho de Melo <acme@redhat.com>
CommitDate: Wed, 27 Dec 2017 12:15:42 -0300

perf stat: Define a structure for per-thread shadow stats

Perf has a set of static variables to record the runtime shadow metrics
stats.

While if we want to record the runtime shadow stats for per-thread, it
will be the limitation. This patch creates a structure and the next
patches will use this structure to update the runtime shadow stats for
per-thread.

Signed-off-by: Jin Yao <yao.jin@linux.intel.com>
Acked-by: Jiri Olsa <jolsa@kernel.org>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Andi Kleen <ak@linux.intel.com>
Cc: Kan Liang <kan.liang@intel.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Link: http://lkml.kernel.org/r/1512482591-4646-2-git-send-email-yao.jin@linux.intel.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
 tools/perf/util/stat-shadow.c | 11 -----------
 tools/perf/util/stat.h        | 43 ++++++++++++++++++++++++++++++++++++++++++-
 2 files changed, 42 insertions(+), 12 deletions(-)

diff --git a/tools/perf/util/stat-shadow.c b/tools/perf/util/stat-shadow.c
index 57ec225..93aac27 100644
--- a/tools/perf/util/stat-shadow.c
+++ b/tools/perf/util/stat-shadow.c
@@ -9,17 +9,6 @@
 #include "expr.h"
 #include "metricgroup.h"
 
-enum {
-	CTX_BIT_USER	= 1 << 0,
-	CTX_BIT_KERNEL	= 1 << 1,
-	CTX_BIT_HV	= 1 << 2,
-	CTX_BIT_HOST	= 1 << 3,
-	CTX_BIT_IDLE	= 1 << 4,
-	CTX_BIT_MAX	= 1 << 5,
-};
-
-#define NUM_CTX CTX_BIT_MAX
-
 /*
  * AGGR_GLOBAL: Use CPU 0
  * AGGR_SOCKET: Use first CPU of socket
diff --git a/tools/perf/util/stat.h b/tools/perf/util/stat.h
index eefca5c..c685c41 100644
--- a/tools/perf/util/stat.h
+++ b/tools/perf/util/stat.h
@@ -5,6 +5,7 @@
 #include <linux/types.h>
 #include <stdio.h>
 #include "xyarray.h"
+#include "rblist.h"
 
 struct stats
 {
@@ -43,6 +44,47 @@ enum aggr_mode {
 	AGGR_UNSET,
 };
 
+enum {
+	CTX_BIT_USER	= 1 << 0,
+	CTX_BIT_KERNEL	= 1 << 1,
+	CTX_BIT_HV	= 1 << 2,
+	CTX_BIT_HOST	= 1 << 3,
+	CTX_BIT_IDLE	= 1 << 4,
+	CTX_BIT_MAX	= 1 << 5,
+};
+
+#define NUM_CTX CTX_BIT_MAX
+
+enum stat_type {
+	STAT_NONE = 0,
+	STAT_NSECS,
+	STAT_CYCLES,
+	STAT_STALLED_CYCLES_FRONT,
+	STAT_STALLED_CYCLES_BACK,
+	STAT_BRANCHES,
+	STAT_CACHEREFS,
+	STAT_L1_DCACHE,
+	STAT_L1_ICACHE,
+	STAT_LL_CACHE,
+	STAT_ITLB_CACHE,
+	STAT_DTLB_CACHE,
+	STAT_CYCLES_IN_TX,
+	STAT_TRANSACTION,
+	STAT_ELISION,
+	STAT_TOPDOWN_TOTAL_SLOTS,
+	STAT_TOPDOWN_SLOTS_ISSUED,
+	STAT_TOPDOWN_SLOTS_RETIRED,
+	STAT_TOPDOWN_FETCH_BUBBLES,
+	STAT_TOPDOWN_RECOVERY_BUBBLES,
+	STAT_SMI_NUM,
+	STAT_APERF,
+	STAT_MAX
+};
+
+struct runtime_stat {
+	struct rblist value_list;
+};
+
 struct perf_stat_config {
 	enum aggr_mode	aggr_mode;
 	bool		scale;
@@ -92,7 +134,6 @@ struct perf_stat_output_ctx {
 	bool force_header;
 };
 
-struct rblist;
 void perf_stat__print_shadow_stats(struct perf_evsel *evsel,
 				   double avg, int cpu,
 				   struct perf_stat_output_ctx *out,

  reply	other threads:[~2017-12-28 15:24 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-12-05 14:03 [PATCH v6 00/11] perf stat: Enable '--per-thread' on all thread Jin Yao
2017-12-05 10:21 ` Jiri Olsa
2017-12-05 12:21   ` Jin, Yao
2017-12-05 14:03 ` [PATCH v6 01/11] perf util: Define a structure for per-thread shadow stats Jin Yao
2017-12-28 15:21   ` tip-bot for Jin Yao [this message]
2017-12-05 14:03 ` [PATCH v6 02/11] perf stat: Extend rbtree to support " Jin Yao
2017-12-28 15:22   ` [tip:perf/core] " tip-bot for Jin Yao
2017-12-05 14:03 ` [PATCH v6 03/11] perf util: Create the runtime_stat init/exit function Jin Yao
2017-12-28 15:22   ` [tip:perf/core] perf stat: " tip-bot for Jin Yao
2017-12-05 14:03 ` [PATCH v6 04/11] perf util: Update per-thread shadow stats Jin Yao
2017-12-28 15:23   ` [tip:perf/core] perf stat: " tip-bot for Jin Yao
2017-12-05 14:03 ` [PATCH v6 05/11] perf util: Print " Jin Yao
2017-12-28 15:23   ` [tip:perf/core] perf stat: " tip-bot for Jin Yao
2017-12-05 14:03 ` [PATCH v6 06/11] perf util: Remove a set of shadow stats static variables Jin Yao
2017-12-28 15:24   ` [tip:perf/core] perf stat: " tip-bot for Jin Yao
2017-12-05 14:03 ` [PATCH v6 07/11] perf stat: Allocate shadow stats buffer for threads Jin Yao
2017-12-28 15:24   ` [tip:perf/core] " tip-bot for Jin Yao
2017-12-05 14:03 ` [PATCH v6 08/11] perf stat: Update or print per-thread stats Jin Yao
2017-12-28 15:25   ` [tip:perf/core] " tip-bot for Jin Yao
2017-12-05 14:03 ` [PATCH v6 09/11] perf util: Enumerate all threads from /proc Jin Yao
2017-12-28 15:25   ` [tip:perf/core] perf thread_map: " tip-bot for Jin Yao
2017-12-05 14:03 ` [PATCH v6 10/11] perf stat: Remove --per-thread pid/tid limitation Jin Yao
2017-12-28 15:25   ` [tip:perf/core] " tip-bot for Jin Yao
2017-12-05 14:03 ` [PATCH v6 11/11] perf stat: Resort '--per-thread' result Jin Yao
2017-12-28 15:26   ` [tip:perf/core] " tip-bot for 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=tip-e5fcc2abc353be94548080d84de3269ef6cc2af6@git.kernel.org \
    --to=tipbot@zytor.com \
    --cc=acme@redhat.com \
    --cc=ak@linux.intel.com \
    --cc=alexander.shishkin@linux.intel.com \
    --cc=hpa@zytor.com \
    --cc=jolsa@kernel.org \
    --cc=kan.liang@intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-tip-commits@vger.kernel.org \
    --cc=mingo@kernel.org \
    --cc=peterz@infradead.org \
    --cc=tglx@linutronix.de \
    --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.