nvc0: add more MP counters for nve4
authorSamuel Pitoiset <samuel.pitoiset@gmail.com>
Thu, 25 Jul 2013 08:35:34 +0000 (10:35 +0200)
committerChristoph Bumiller <e0425955@student.tuwien.ac.at>
Tue, 6 Aug 2013 20:22:34 +0000 (22:22 +0200)
src/gallium/drivers/nvc0/nvc0_query.c
src/gallium/drivers/nvc0/nvc0_screen.h
src/gallium/drivers/nvc0/nve4_compute.xml.h

index 75c515ac8da3e2067de8dbdd4a698e818de66247..d2c423bd654180b12baba6d5bb00dad51bacfec1 100644 (file)
@@ -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),
index 826014e88026618beecb7e6cfb84825367414b0d..ed43696ee8b7086792877efea1d89558ad8e3e17 100644 (file)
@@ -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
index 96527cc7a23fd1d781caf9a4e9dce54e3341cb49..e971fc1ac6be3a9a404cf0d1e5ebac10657833dc 100644 (file)
@@ -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@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