mirror of
https://github.com/raspberrypi/linux.git
synced 2026-01-05 10:47:34 +00:00
Add skip list for metrics known would fail because some of the metrics are very likely to fail due to multiplexing or other errors. So add all of the flaky tests into the skip list. Signed-off-by: Weilin Wang <weilin.wang@intel.com> Tested-by: Namhyung Kim <namhyung@kernel.org> Cc: ravi.bangoria@amd.com Cc: Ian Rogers <irogers@google.com> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Adrian Hunter <adrian.hunter@intel.com> Cc: Caleb Biggers <caleb.biggers@intel.com> Cc: Perry Taylor <perry.taylor@intel.com> Cc: Samantha Alt <samantha.alt@intel.com> Cc: Arnaldo Carvalho de Melo <acme@kernel.org> Cc: Jiri Olsa <jolsa@kernel.org> Cc: Kan Liang <kan.liang@linux.intel.com> Cc: Ingo Molnar <mingo@redhat.com> Link: https://lore.kernel.org/r/20230620170027.1861012-3-weilin.wang@intel.com Signed-off-by: Namhyung Kim <namhyung@kernel.org>
398 lines
12 KiB
JSON
398 lines
12 KiB
JSON
{
|
|
"SkipList": [
|
|
"tsx_aborted_cycles",
|
|
"tsx_transactional_cycles",
|
|
"C2_Pkg_Residency",
|
|
"C6_Pkg_Residency",
|
|
"C1_Core_Residency",
|
|
"C6_Core_Residency",
|
|
"tma_false_sharing",
|
|
"tma_remote_cache",
|
|
"tma_contested_accesses"
|
|
],
|
|
"RelationshipRules": [
|
|
{
|
|
"RuleIndex": 1,
|
|
"Formula": "a+b",
|
|
"TestType": "RelationshipTest",
|
|
"RangeLower": "c",
|
|
"RangeUpper": "c",
|
|
"ErrorThreshold": 5.0,
|
|
"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",
|
|
"Metrics": [
|
|
{
|
|
"Name": "pmem_memory_bandwidth_read",
|
|
"Alias": "a"
|
|
},
|
|
{
|
|
"Name": "pmem_memory_bandwidth_write",
|
|
"Alias": "b"
|
|
},
|
|
{
|
|
"Name": "pmem_memory_bandwidth_total",
|
|
"Alias": "c"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"RuleIndex": 2,
|
|
"Formula": "a+b",
|
|
"TestType": "RelationshipTest",
|
|
"RangeLower": "c",
|
|
"RangeUpper": "c",
|
|
"ErrorThreshold": 5.0,
|
|
"Description": "DDR memory bandwidth total includes DDR memory read bandwidth and DDR memory write bandwidth",
|
|
"Metrics": [
|
|
{
|
|
"Name": "memory_bandwidth_read",
|
|
"Alias": "a"
|
|
},
|
|
{
|
|
"Name": "memory_bandwidth_write",
|
|
"Alias": "b"
|
|
},
|
|
{
|
|
"Name": "memory_bandwidth_total",
|
|
"Alias": "c"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"RuleIndex": 3,
|
|
"Formula": "a+b",
|
|
"TestType": "RelationshipTest",
|
|
"RangeLower": "100",
|
|
"RangeUpper": "100",
|
|
"ErrorThreshold": 5.0,
|
|
"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.",
|
|
"Metrics": [
|
|
{
|
|
"Name": "numa_reads_addressed_to_local_dram",
|
|
"Alias": "a"
|
|
},
|
|
{
|
|
"Name": "numa_reads_addressed_to_remote_dram",
|
|
"Alias": "b"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"RuleIndex": 4,
|
|
"Formula": "a",
|
|
"TestType": "SingleMetricTest",
|
|
"RangeLower": "0.125",
|
|
"RangeUpper": "",
|
|
"ErrorThreshold": "",
|
|
"Description": "",
|
|
"Metrics": [
|
|
{
|
|
"Name": "cpi",
|
|
"Alias": "a"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"RuleIndex": 5,
|
|
"Formula": "",
|
|
"TestType": "SingleMetricTest",
|
|
"RangeLower": "0",
|
|
"RangeUpper": "1",
|
|
"ErrorThreshold": 5.0,
|
|
"Description": "Ratio values should be within value range [0,1)",
|
|
"Metrics": [
|
|
{
|
|
"Name": "loads_per_instr",
|
|
"Alias": ""
|
|
},
|
|
{
|
|
"Name": "stores_per_instr",
|
|
"Alias": ""
|
|
},
|
|
{
|
|
"Name": "l1d_mpi",
|
|
"Alias": ""
|
|
},
|
|
{
|
|
"Name": "l1d_demand_data_read_hits_per_instr",
|
|
"Alias": ""
|
|
},
|
|
{
|
|
"Name": "l1_i_code_read_misses_with_prefetches_per_instr",
|
|
"Alias": ""
|
|
},
|
|
{
|
|
"Name": "l2_demand_data_read_hits_per_instr",
|
|
"Alias": ""
|
|
},
|
|
{
|
|
"Name": "l2_mpi",
|
|
"Alias": ""
|
|
},
|
|
{
|
|
"Name": "l2_demand_data_read_mpi",
|
|
"Alias": ""
|
|
},
|
|
{
|
|
"Name": "l2_demand_code_mpi",
|
|
"Alias": ""
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"RuleIndex": 6,
|
|
"Formula": "a+b+c+d",
|
|
"TestType": "RelationshipTest",
|
|
"RangeLower": "100",
|
|
"RangeUpper": "100",
|
|
"ErrorThreshold": 5.0,
|
|
"Description": "Sum of TMA level 1 metrics should be 100%",
|
|
"Metrics": [
|
|
{
|
|
"Name": "tma_frontend_bound",
|
|
"Alias": "a"
|
|
},
|
|
{
|
|
"Name": "tma_bad_speculation",
|
|
"Alias": "b"
|
|
},
|
|
{
|
|
"Name": "tma_backend_bound",
|
|
"Alias": "c"
|
|
},
|
|
{
|
|
"Name": "tma_retiring",
|
|
"Alias": "d"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"RuleIndex": 7,
|
|
"Formula": "a+b",
|
|
"TestType": "RelationshipTest",
|
|
"RangeLower": "c",
|
|
"RangeUpper": "c",
|
|
"ErrorThreshold": 5.0,
|
|
"Description": "Sum of the level 2 children should equal level 1 parent",
|
|
"Metrics": [
|
|
{
|
|
"Name": "tma_fetch_latency",
|
|
"Alias": "a"
|
|
},
|
|
{
|
|
"Name": "tma_fetch_bandwidth",
|
|
"Alias": "b"
|
|
},
|
|
{
|
|
"Name": "tma_frontend_bound",
|
|
"Alias": "c"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"RuleIndex": 8,
|
|
"Formula": "a+b",
|
|
"TestType": "RelationshipTest",
|
|
"RangeLower": "c",
|
|
"RangeUpper": "c",
|
|
"ErrorThreshold": 5.0,
|
|
"Description": "Sum of the level 2 children should equal level 1 parent",
|
|
"Metrics": [
|
|
{
|
|
"Name": "tma_branch_mispredicts",
|
|
"Alias": "a"
|
|
},
|
|
{
|
|
"Name": "tma_machine_clears",
|
|
"Alias": "b"
|
|
},
|
|
{
|
|
"Name": "tma_bad_speculation",
|
|
"Alias": "c"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"RuleIndex": 9,
|
|
"Formula": "a+b",
|
|
"TestType": "RelationshipTest",
|
|
"RangeLower": "c",
|
|
"RangeUpper": "c",
|
|
"ErrorThreshold": 5.0,
|
|
"Description": "Sum of the level 2 children should equal level 1 parent",
|
|
"Metrics": [
|
|
{
|
|
"Name": "tma_memory_bound",
|
|
"Alias": "a"
|
|
},
|
|
{
|
|
"Name": "tma_core_bound",
|
|
"Alias": "b"
|
|
},
|
|
{
|
|
"Name": "tma_backend_bound",
|
|
"Alias": "c"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"RuleIndex": 10,
|
|
"Formula": "a+b",
|
|
"TestType": "RelationshipTest",
|
|
"RangeLower": "c",
|
|
"RangeUpper": "c",
|
|
"ErrorThreshold": 5.0,
|
|
"Description": "Sum of the level 2 children should equal level 1 parent",
|
|
"Metrics": [
|
|
{
|
|
"Name": "tma_light_operations",
|
|
"Alias": "a"
|
|
},
|
|
{
|
|
"Name": "tma_heavy_operations",
|
|
"Alias": "b"
|
|
},
|
|
{
|
|
"Name": "tma_retiring",
|
|
"Alias": "c"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"RuleIndex": 11,
|
|
"Formula": "a+b+c",
|
|
"TestType": "RelationshipTest",
|
|
"RangeLower": "100",
|
|
"RangeUpper": "100",
|
|
"ErrorThreshold": 5.0,
|
|
"Description": "The all_requests includes the memory_page_empty, memory_page_misses, and memory_page_hits equals.",
|
|
"Metrics": [
|
|
{
|
|
"Name": "memory_page_empty_vs_all_requests",
|
|
"Alias": "a"
|
|
},
|
|
{
|
|
"Name": "memory_page_misses_vs_all_requests",
|
|
"Alias": "b"
|
|
},
|
|
{
|
|
"Name": "memory_page_hits_vs_all_requests",
|
|
"Alias": "c"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"RuleIndex": 12,
|
|
"Formula": "a-b",
|
|
"TestType": "RelationshipTest",
|
|
"RangeLower": "0",
|
|
"RangeUpper": "",
|
|
"ErrorThreshold": 5.0,
|
|
"Description": "CPU utilization in kernel mode should always be <= cpu utilization",
|
|
"Metrics": [
|
|
{
|
|
"Name": "cpu_utilization",
|
|
"Alias": "a"
|
|
},
|
|
{
|
|
"Name": "cpu_utilization_in_kernel_mode",
|
|
"Alias": "b"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"RuleIndex": 13,
|
|
"Formula": "a-b",
|
|
"TestType": "RelationshipTest",
|
|
"RangeLower": "0",
|
|
"RangeUpper": "",
|
|
"ErrorThreshold": 5.0,
|
|
"Description": "Total L2 misses per instruction should be >= L2 demand data read misses per instruction",
|
|
"Metrics": [
|
|
{
|
|
"Name": "l2_mpi",
|
|
"Alias": "a"
|
|
},
|
|
{
|
|
"Name": "l2_demand_data_read_mpi",
|
|
"Alias": "b"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"RuleIndex": 14,
|
|
"Formula": "a-b",
|
|
"TestType": "RelationshipTest",
|
|
"RangeLower": "0",
|
|
"RangeUpper": "",
|
|
"ErrorThreshold": 5.0,
|
|
"Description": "Total L2 misses per instruction should be >= L2 demand code misses per instruction",
|
|
"Metrics": [
|
|
{
|
|
"Name": "l2_mpi",
|
|
"Alias": "a"
|
|
},
|
|
{
|
|
"Name": "l2_demand_code_mpi",
|
|
"Alias": "b"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"RuleIndex": 15,
|
|
"Formula": "b+c+d",
|
|
"TestType": "RelationshipTest",
|
|
"RangeLower": "a",
|
|
"RangeUpper": "a",
|
|
"ErrorThreshold": 5.0,
|
|
"Description": "L3 data read, rfo, code misses per instruction equals total L3 misses per instruction.",
|
|
"Metrics": [
|
|
{
|
|
"Name": "llc_mpi",
|
|
"Alias": "a"
|
|
},
|
|
{
|
|
"Name": "llc_data_read_mpi_demand_plus_prefetch",
|
|
"Alias": "b"
|
|
},
|
|
{
|
|
"Name": "llc_rfo_read_mpi_demand_plus_prefetch",
|
|
"Alias": "c"
|
|
},
|
|
{
|
|
"Name": "llc_code_read_mpi_demand_plus_prefetch",
|
|
"Alias": "d"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"RuleIndex": 16,
|
|
"Formula": "a",
|
|
"TestType": "SingleMetricTest",
|
|
"RangeLower": "0",
|
|
"RangeUpper": "8",
|
|
"ErrorThreshold": 0.0,
|
|
"Description": "Setting generous range for allowable frequencies",
|
|
"Metrics": [
|
|
{
|
|
"Name": "uncore_freq",
|
|
"Alias": "a"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"RuleIndex": 17,
|
|
"Formula": "a",
|
|
"TestType": "SingleMetricTest",
|
|
"RangeLower": "0",
|
|
"RangeUpper": "8",
|
|
"ErrorThreshold": 0.0,
|
|
"Description": "Setting generous range for allowable frequencies",
|
|
"Metrics": [
|
|
{
|
|
"Name": "cpu_operating_frequency",
|
|
"Alias": "a"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
} |