17 #include <perfmon/perfmon.h>
24 int row = va_arg (*args,
int);
48 .name =
"load-blocks",
49 .description =
"load operations blocked due to various uarch reasons",
50 .source =
"intel-core",
52 .events[0] = INTEL_CORE_E_LD_BLOCKS_STORE_FORWARD,
53 .events[1] = INTEL_CORE_E_LD_BLOCKS_NO_SR,
54 .events[2] = INTEL_CORE_E_LD_BLOCKS_PARTIAL_ADDRESS_ALIAS,
57 .column_headers =
PERFMON_STRINGS (
"Calls",
"Packets",
"[1]",
"[2]",
"[3]"),
58 .footer =
"Per node call statistics:\n"
59 "[1] Loads blocked due to overlapping with a preceding store that "
60 "cannot be forwarded.\n"
61 "[2] The number of times that split load operations are "
62 "temporarily blocked because\n"
63 " all resources for handling the split accesses are in use\n"
64 "[3] False dependencies in Memory Order Buffer (MOB) due to "
65 "partial compare on address.\n",