~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/tools/perf/tests/shell/lib/perf_metric_validation_rules.json

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 {
  2     "SkipList": [
  3         "tsx_aborted_cycles",
  4         "tsx_transactional_cycles",
  5         "C2_Pkg_Residency",
  6         "C6_Pkg_Residency",
  7         "C1_Core_Residency",
  8         "C6_Core_Residency",
  9         "tma_false_sharing",
 10         "tma_remote_cache",
 11         "tma_contested_accesses"
 12     ],
 13     "RelationshipRules": [
 14         {
 15             "RuleIndex": 1,
 16             "Formula": "a+b",
 17             "TestType": "RelationshipTest",
 18             "RangeLower": "c",
 19             "RangeUpper": "c",
 20             "ErrorThreshold": 5.0,
 21             "Description": "Intel(R) Optane(TM) Persistent Memory(PMEM)  bandwidth total includes Intel(R) Optane(TM) Persistent Memory(PMEM) read bandwidth and Intel(R) Optane(TM) Persistent Memory(PMEM) write bandwidth",
 22             "Metrics": [
 23                 {
 24                     "Name": "pmem_memory_bandwidth_read",
 25                     "Alias": "a"
 26                 },
 27                 {
 28                     "Name": "pmem_memory_bandwidth_write",
 29                     "Alias": "b"
 30                 },
 31                 {
 32                     "Name": "pmem_memory_bandwidth_total",
 33                     "Alias": "c"
 34                 }
 35             ]
 36         },
 37         {
 38             "RuleIndex": 2,
 39             "Formula": "a+b",
 40             "TestType": "RelationshipTest",
 41             "RangeLower": "c",
 42             "RangeUpper": "c",
 43             "ErrorThreshold": 5.0,
 44             "Description": "DDR memory bandwidth total includes DDR memory read bandwidth and DDR memory write bandwidth",
 45             "Metrics": [
 46                 {
 47                     "Name": "memory_bandwidth_read",
 48                     "Alias": "a"
 49                 },
 50                 {
 51                     "Name": "memory_bandwidth_write",
 52                     "Alias": "b"
 53                 },
 54                 {
 55                     "Name": "memory_bandwidth_total",
 56                     "Alias": "c"
 57                 }
 58             ]
 59         },
 60         {
 61             "RuleIndex": 3,
 62             "Formula": "a+b",
 63             "TestType": "RelationshipTest",
 64             "RangeLower": "100",
 65             "RangeUpper": "100",
 66             "ErrorThreshold": 5.0,
 67             "Description": "Total memory read accesses includes memory reads from last level cache (LLC) addressed to local DRAM and memory reads from the last level cache (LLC) addressed to remote DRAM.",
 68             "Metrics": [
 69                 {
 70                     "Name": "numa_reads_addressed_to_local_dram",
 71                     "Alias": "a"
 72                 },
 73                 {
 74                     "Name": "numa_reads_addressed_to_remote_dram",
 75                     "Alias": "b"
 76                 }
 77             ]
 78         },
 79         {
 80             "RuleIndex": 4,
 81             "Formula": "a",
 82             "TestType": "SingleMetricTest",
 83             "RangeLower": "0.125",
 84             "RangeUpper": "",
 85             "ErrorThreshold": "",
 86             "Description": "",
 87             "Metrics": [
 88                 {
 89                     "Name": "cpi",
 90                     "Alias": "a"
 91                 }
 92             ]
 93         },
 94         {
 95             "RuleIndex": 5,
 96             "Formula": "",
 97             "TestType": "SingleMetricTest",
 98             "RangeLower": "0",
 99             "RangeUpper": "1",
100             "ErrorThreshold": 5.0,
101             "Description": "Ratio values should be within value range [0,1)",
102             "Metrics": [
103                 {
104                     "Name": "loads_per_instr",
105                     "Alias": ""
106                 },
107                 {
108                     "Name": "stores_per_instr",
109                     "Alias": ""
110                 },
111                 {
112                     "Name": "l1d_mpi",
113                     "Alias": ""
114                 },
115                 {
116                     "Name": "l1d_demand_data_read_hits_per_instr",
117                     "Alias": ""
118                 },
119                 {
120                     "Name": "l1_i_code_read_misses_with_prefetches_per_instr",
121                     "Alias": ""
122                 },
123                 {
124                     "Name": "l2_demand_data_read_hits_per_instr",
125                     "Alias": ""
126                 },
127                 {
128                     "Name": "l2_mpi",
129                     "Alias": ""
130                 },
131                 {
132                     "Name": "l2_demand_data_read_mpi",
133                     "Alias": ""
134                 },
135                 {
136                     "Name": "l2_demand_code_mpi",
137                     "Alias": ""
138                 }
139             ]
140         },
141         {
142             "RuleIndex": 6,
143             "Formula": "a+b+c+d",
144             "TestType": "RelationshipTest",
145             "RangeLower": "100",
146             "RangeUpper": "100",
147             "ErrorThreshold": 5.0,
148             "Description": "Sum of TMA level 1 metrics should be 100%",
149             "Metrics": [
150                 {
151                     "Name": "tma_frontend_bound",
152                     "Alias": "a"
153                 },
154                 {
155                     "Name": "tma_bad_speculation",
156                     "Alias": "b"
157                 },
158                 {
159                     "Name": "tma_backend_bound",
160                     "Alias": "c"
161                 },
162                 {
163                     "Name": "tma_retiring",
164                     "Alias": "d"
165                 }
166             ]
167         },
168         {
169             "RuleIndex": 7,
170             "Formula": "a+b",
171             "TestType": "RelationshipTest",
172             "RangeLower": "c",
173             "RangeUpper": "c",
174             "ErrorThreshold": 5.0,
175             "Description": "Sum of the level 2 children should equal level 1 parent",
176             "Metrics": [
177                 {
178                     "Name": "tma_fetch_latency",
179                     "Alias": "a"
180                 },
181                 {
182                     "Name": "tma_fetch_bandwidth",
183                     "Alias": "b"
184                 },
185                 {
186                     "Name": "tma_frontend_bound",
187                     "Alias": "c"
188                 }
189             ]
190         },
191         {
192             "RuleIndex": 8,
193             "Formula": "a+b",
194             "TestType": "RelationshipTest",
195             "RangeLower": "c",
196             "RangeUpper": "c",
197             "ErrorThreshold": 5.0,
198             "Description": "Sum of the level 2 children should equal level 1 parent",
199             "Metrics": [
200                 {
201                     "Name": "tma_branch_mispredicts",
202                     "Alias": "a"
203                 },
204                 {
205                     "Name": "tma_machine_clears",
206                     "Alias": "b"
207                 },
208                 {
209                     "Name": "tma_bad_speculation",
210                     "Alias": "c"
211                 }
212             ]
213         },
214         {
215             "RuleIndex": 9,
216             "Formula": "a+b",
217             "TestType": "RelationshipTest",
218             "RangeLower": "c",
219             "RangeUpper": "c",
220             "ErrorThreshold": 5.0,
221             "Description": "Sum of the level 2 children should equal level 1 parent",
222             "Metrics": [
223                 {
224                     "Name": "tma_memory_bound",
225                     "Alias": "a"
226                 },
227                 {
228                     "Name": "tma_core_bound",
229                     "Alias": "b"
230                 },
231                 {
232                     "Name": "tma_backend_bound",
233                     "Alias": "c"
234                 }
235             ]
236         },
237         {
238             "RuleIndex": 10,
239             "Formula": "a+b",
240             "TestType": "RelationshipTest",
241             "RangeLower": "c",
242             "RangeUpper": "c",
243             "ErrorThreshold": 5.0,
244             "Description": "Sum of the level 2 children should equal level 1 parent",
245             "Metrics": [
246                 {
247                     "Name": "tma_light_operations",
248                     "Alias": "a"
249                 },
250                 {
251                     "Name": "tma_heavy_operations",
252                     "Alias": "b"
253                 },
254                 {
255                     "Name": "tma_retiring",
256                     "Alias": "c"
257                 }
258             ]
259         },
260         {
261             "RuleIndex": 11,
262             "Formula": "a+b+c",
263             "TestType": "RelationshipTest",
264             "RangeLower": "100",
265             "RangeUpper": "100",
266             "ErrorThreshold": 5.0,
267             "Description": "The all_requests includes the memory_page_empty, memory_page_misses, and memory_page_hits equals.",
268             "Metrics": [
269                 {
270                     "Name": "memory_page_empty_vs_all_requests",
271                     "Alias": "a"
272                 },
273                 {
274                     "Name": "memory_page_misses_vs_all_requests",
275                     "Alias": "b"
276                 },
277                 {
278                     "Name": "memory_page_hits_vs_all_requests",
279                     "Alias": "c"
280                 }
281             ]
282         },
283         {
284             "RuleIndex": 12,
285             "Formula": "a-b",
286             "TestType": "RelationshipTest",
287             "RangeLower": "0",
288             "RangeUpper": "",
289             "ErrorThreshold": 5.0,
290             "Description": "CPU utilization in kernel mode should always be <= cpu utilization",
291             "Metrics": [
292                 {
293                     "Name": "cpu_utilization",
294                     "Alias": "a"
295                 },
296                 {
297                     "Name": "cpu_utilization_in_kernel_mode",
298                     "Alias": "b"
299                 }
300             ]
301         },
302         {
303             "RuleIndex": 13,
304             "Formula": "a-b",
305             "TestType": "RelationshipTest",
306             "RangeLower": "0",
307             "RangeUpper": "",
308             "ErrorThreshold": 5.0,
309             "Description": "Total L2 misses per instruction should be >= L2 demand data read misses per instruction",
310             "Metrics": [
311                 {
312                     "Name": "l2_mpi",
313                     "Alias": "a"
314                 },
315                 {
316                     "Name": "l2_demand_data_read_mpi",
317                     "Alias": "b"
318                 }
319             ]
320         },
321         {
322             "RuleIndex": 14,
323             "Formula": "a-b",
324             "TestType": "RelationshipTest",
325             "RangeLower": "0",
326             "RangeUpper": "",
327             "ErrorThreshold": 5.0,
328             "Description": "Total L2 misses per instruction should be >= L2 demand code misses per instruction",
329             "Metrics": [
330                 {
331                     "Name": "l2_mpi",
332                     "Alias": "a"
333                 },
334                 {
335                     "Name": "l2_demand_code_mpi",
336                     "Alias": "b"
337                 }
338             ]
339         },
340         {
341             "RuleIndex": 15,
342             "Formula": "b+c+d",
343             "TestType": "RelationshipTest",
344             "RangeLower": "a",
345             "RangeUpper": "a",
346             "ErrorThreshold": 5.0,
347             "Description": "L3 data read, rfo, code misses per instruction equals total L3 misses per instruction.",
348             "Metrics": [
349                 {
350                     "Name": "llc_mpi",
351                     "Alias": "a"
352                 },
353                 {
354                     "Name": "llc_data_read_mpi_demand_plus_prefetch",
355                     "Alias": "b"
356                 },
357                 {
358                     "Name": "llc_rfo_read_mpi_demand_plus_prefetch",
359                     "Alias": "c"
360                 },
361                 {
362                     "Name": "llc_code_read_mpi_demand_plus_prefetch",
363                     "Alias": "d"
364                 }
365             ]
366         },
367         {
368             "RuleIndex": 16,
369             "Formula": "a",
370             "TestType": "SingleMetricTest",
371             "RangeLower": "0",
372             "RangeUpper": "8",
373             "ErrorThreshold": 0.0,
374             "Description": "Setting generous range for allowable frequencies",
375             "Metrics": [
376                 {
377                     "Name": "uncore_freq",
378                     "Alias": "a"
379                 }
380             ]
381         },
382         {
383             "RuleIndex": 17,
384             "Formula": "a",
385             "TestType": "SingleMetricTest",
386             "RangeLower": "0",
387             "RangeUpper": "8",
388             "ErrorThreshold": 0.0,
389             "Description": "Setting generous range for allowable frequencies",
390             "Metrics": [
391                 {
392                     "Name": "cpu_operating_frequency",
393                     "Alias": "a"
394                 }
395             ]
396         }
397     ]
398 }

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php