Mesa (master): nvc0: add more MP counters for nve4

Christoph Bumiller chrisbmr at kemper.freedesktop.org
Tue Aug 6 20:32:15 UTC 2013


Module: Mesa
Branch: master
Commit: 981b5891016580a72c2d6a457c6e8ef2dd5a9c95
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=981b5891016580a72c2d6a457c6e8ef2dd5a9c95

Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date:   Thu Jul 25 10:35:34 2013 +0200

nvc0: add more MP counters for nve4

---

 src/gallium/drivers/nvc0/nvc0_query.c       |   20 ++++++++++++++++++++
 src/gallium/drivers/nvc0/nvc0_screen.h      |   25 ++++++++++++++++++-------
 src/gallium/drivers/nvc0/nve4_compute.xml.h |   16 +++++++++-------
 3 files changed, 47 insertions(+), 14 deletions(-)

diff --git a/src/gallium/drivers/nvc0/nvc0_query.c b/src/gallium/drivers/nvc0/nvc0_query.c
index 75c515a..d2c423b 100644
--- a/src/gallium/drivers/nvc0/nvc0_query.c
+++ b/src/gallium/drivers/nvc0/nvc0_query.c
@@ -774,6 +774,16 @@ static const char *nve4_pm_query_names[] =
    "active_warps",
    "active_cycles",
    "inst_issued",
+   "atom_count",
+   "gred_count",
+   "shared_load_replay",
+   "shared_store_replay",
+   "local_load_transactions",
+   "local_store_transactions",
+   "l1_shared_load_transactions",
+   "l1_shared_store_transactions",
+   "global_ld_mem_divergence_replays",
+   "global_st_mem_divergence_replays",
    /* metrics, i.e. functions of the MP counters */
    "metric-ipc",                   /* inst_executed, clock */
    "metric-ipac",                  /* inst_executed, active_cycles */
@@ -871,6 +881,16 @@ static const struct nve4_mp_pm_query_cfg nve4_mp_pm_queries[] =
    _Q1A(BRANCH_DIVERGENT, 0x0001, B6, BRANCH, 0x00000010, 1, 1),
    _Q1B(ACTIVE_WARPS,  0x003f, B6, WARP, 0x31483104, 2, 1),
    _Q1B(ACTIVE_CYCLES, 0x0001, B6, WARP, 0x00000000, 1, 1),
+   _Q1A(ATOM_COUNT, 0x0001, B6, BRANCH, 0x00000000, 1, 1),
+   _Q1A(GRED_COUNT, 0x0001, B6, BRANCH, 0x00000008, 1, 1),
+   _Q1B(LD_SHARED_REPLAY, 0x0001, B6, REPLAY, 0x00000008, 1, 1),
+   _Q1B(ST_SHARED_REPLAY, 0x0001, B6, REPLAY, 0x0000000c, 1, 1),
+   _Q1B(LD_LOCAL_TRANSACTIONS, 0x0001, B6, TRANSACTION, 0x00000000, 1, 1),
+   _Q1B(ST_LOCAL_TRANSACTIONS, 0x0001, B6, TRANSACTION, 0x00000004, 1, 1),
+   _Q1B(L1_LD_SHARED_TRANSACTIONS, 0x0001, B6, TRANSACTION, 0x00000008, 1, 1),
+   _Q1B(L1_ST_SHARED_TRANSACTIONS, 0x0001, B6, TRANSACTION, 0x0000000c, 1, 1),
+   _Q1B(GLD_MEM_DIV_REPLAY, 0x0001, B6, REPLAY, 0x00000010, 1, 1),
+   _Q1B(GST_MEM_DIV_REPLAY, 0x0001, B6, REPLAY, 0x00000014, 1, 1),
    _M2AB(IPC, 0x3, B6, EXEC, 0x398, 0xffff, LOGOP, WARP, 0x0, DIV_SUM_M0, 10, 1),
    _M2AB(IPAC, 0x3, B6, EXEC, 0x398, 0x1, B6, WARP, 0x0, AVG_DIV_MM, 10, 1),
    _M2A(IPEC, 0x3, B6, EXEC, 0x398, 0xe, LOGOP, EXEC, 0x398, AVG_DIV_MM, 10, 1),
diff --git a/src/gallium/drivers/nvc0/nvc0_screen.h b/src/gallium/drivers/nvc0/nvc0_screen.h
index 826014e..ed43696 100644
--- a/src/gallium/drivers/nvc0/nvc0_screen.h
+++ b/src/gallium/drivers/nvc0/nvc0_screen.h
@@ -87,7 +87,7 @@ nvc0_screen(struct pipe_screen *screen)
 
 /* Performance counter queries:
  */
-#define NVE4_PM_QUERY_COUNT  39
+#define NVE4_PM_QUERY_COUNT  49
 #define NVE4_PM_QUERY(i)    (PIPE_QUERY_DRIVER_SPECIFIC + (i))
 #define NVE4_PM_QUERY_LAST   NVE4_PM_QUERY(NVE4_PM_QUERY_COUNT - 1)
 #define NVE4_PM_QUERY_PROF_TRIGGER_0            0
@@ -123,12 +123,23 @@ nvc0_screen(struct pipe_screen *screen)
 #define NVE4_PM_QUERY_ACTIVE_WARPS              30
 #define NVE4_PM_QUERY_ACTIVE_CYCLES             31
 #define NVE4_PM_QUERY_INST_ISSUED               32
-#define NVE4_PM_QUERY_METRIC_IPC                33
-#define NVE4_PM_QUERY_METRIC_IPAC               34
-#define NVE4_PM_QUERY_METRIC_IPEC               35
-#define NVE4_PM_QUERY_METRIC_MP_OCCUPANCY       36
-#define NVE4_PM_QUERY_METRIC_MP_EFFICIENCY      37
-#define NVE4_PM_QUERY_METRIC_INST_REPLAY_OHEAD  38
+#define NVE4_PM_QUERY_ATOM_COUNT                33
+#define NVE4_PM_QUERY_GRED_COUNT                34
+#define NVE4_PM_QUERY_LD_SHARED_REPLAY          35
+#define NVE4_PM_QUERY_ST_SHARED_REPLAY          36
+#define NVE4_PM_QUERY_LD_LOCAL_TRANSACTIONS     37
+#define NVE4_PM_QUERY_ST_LOCAL_TRANSACTIONS     38
+#define NVE4_PM_QUERY_L1_LD_SHARED_TRANSACTIONS 39
+#define NVE4_PM_QUERY_L1_ST_SHARED_TRANSACTIONS 40
+#define NVE4_PM_QUERY_GLD_MEM_DIV_REPLAY        41
+#define NVE4_PM_QUERY_GST_MEM_DIV_REPLAY        42
+#define NVE4_PM_QUERY_METRIC_IPC                43
+#define NVE4_PM_QUERY_METRIC_IPAC               44
+#define NVE4_PM_QUERY_METRIC_IPEC               45
+#define NVE4_PM_QUERY_METRIC_MP_OCCUPANCY       46
+#define NVE4_PM_QUERY_METRIC_MP_EFFICIENCY      47
+#define NVE4_PM_QUERY_METRIC_INST_REPLAY_OHEAD  48
+
 /*
 #define NVE4_PM_QUERY_GR_IDLE                   50
 #define NVE4_PM_QUERY_BSP_IDLE                  51
diff --git a/src/gallium/drivers/nvc0/nve4_compute.xml.h b/src/gallium/drivers/nvc0/nve4_compute.xml.h
index 96527cc..e971fc1 100644
--- a/src/gallium/drivers/nvc0/nve4_compute.xml.h
+++ b/src/gallium/drivers/nvc0/nve4_compute.xml.h
@@ -8,13 +8,13 @@ http://0x04.net/cgit/index.cgi/rules-ng-ng
 git clone git://0x04.net/rules-ng-ng
 
 The rules-ng-ng source files this header was generated from are:
-- nve4_compute.xml (  10168 bytes, from 2013-03-31 20:05:20)
-- copyright.xml    (   6452 bytes, from 2011-08-11 18:25:12)
-- nvchipsets.xml   (   3954 bytes, from 2013-03-26 01:26:43)
-- nv_object.xml    (  14395 bytes, from 2013-03-31 20:05:20)
-- nv_defs.xml      (   4437 bytes, from 2011-08-11 18:25:12)
-- nv50_defs.xml    (   9613 bytes, from 2013-03-28 11:02:04)
-- nve4_p2mf.xml    (   2373 bytes, from 2013-03-31 20:05:20)
+- nve4_compute.xml (  10168 bytes, from 2013-06-04 13:57:02)
+- copyright.xml    (   6452 bytes, from 2012-04-16 22:51:01)
+- nvchipsets.xml   (   3954 bytes, from 2013-06-04 13:57:02)
+- nv_object.xml    (  14395 bytes, from 2013-06-04 13:57:02)
+- nv_defs.xml      (   4437 bytes, from 2012-04-16 22:51:01)
+- nv50_defs.xml    (  16877 bytes, from 2013-07-17 09:10:01)
+- nve4_p2mf.xml    (   2373 bytes, from 2013-06-04 13:57:02)
 
 Copyright (C) 2006-2013 by the following authors:
 - Artur Huillet <arthur.huillet at free.fr> (ahuillet)
@@ -303,6 +303,8 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define NVE4_COMPUTE_MP_PM_B_SIGSEL__LEN			0x00000004
 #define NVE4_COMPUTE_MP_PM_B_SIGSEL_NONE			0x00000000
 #define NVE4_COMPUTE_MP_PM_B_SIGSEL_WARP			0x00000002
+#define NVE4_COMPUTE_MP_PM_B_SIGSEL_REPLAY			0x00000008
+#define NVE4_COMPUTE_MP_PM_B_SIGSEL_TRANSACTION			0x0000000e
 #define NVE4_COMPUTE_MP_PM_B_SIGSEL_L1				0x00000010
 #define NVE4_COMPUTE_MP_PM_B_SIGSEL_MEM				0x00000011
 




More information about the mesa-commit mailing list