PERF_TYPE_HARDWARE
if (attr->type == PERF_TYPE_HARDWARE) {
case PERF_TYPE_HARDWARE:
case PERF_TYPE_HARDWARE:
case PERF_TYPE_HARDWARE:
case PERF_TYPE_HARDWARE:
case PERF_TYPE_HARDWARE:
if (PERF_TYPE_HARDWARE == event->attr.type) {
if (PERF_TYPE_HARDWARE == event->attr.type) {
case PERF_TYPE_HARDWARE:
case PERF_TYPE_HARDWARE:
case PERF_TYPE_HARDWARE:
case PERF_TYPE_HARDWARE:
type = PERF_TYPE_HARDWARE;
case PERF_TYPE_HARDWARE:
return PERF_TYPE_HARDWARE;
if (type == PERF_TYPE_HARDWARE || type == PERF_TYPE_RAW)
case PERF_TYPE_HARDWARE:
case PERF_TYPE_HARDWARE:
case PERF_TYPE_HARDWARE:
case PERF_TYPE_HARDWARE:
case PERF_TYPE_HARDWARE:
(event->attr.type != PERF_TYPE_HARDWARE) &&
if (type != PERF_TYPE_HARDWARE && type != PERF_TYPE_HW_CACHE)
if (type == PERF_TYPE_HARDWARE) {
if ((event->attr.type == PERF_TYPE_HARDWARE) ||
case PERF_TYPE_HARDWARE:
case PERF_TYPE_HARDWARE:
if (event->attr.type == PERF_TYPE_HARDWARE &&
return ((event->attr.type == PERF_TYPE_HARDWARE) ||
if (event->attr.type != PERF_TYPE_HARDWARE)
case PERF_TYPE_HARDWARE:
if ((hwc->flags & PERF_EVENT_FLAG_LEGACY) && (event->attr.type == PERF_TYPE_HARDWARE)) {
if (type == PERF_TYPE_HARDWARE || type == PERF_TYPE_HW_CACHE) {
.type = PERF_TYPE_HARDWARE,
.type = PERF_TYPE_HARDWARE,
.type = PERF_TYPE_HARDWARE,
.type = PERF_TYPE_HARDWARE,
[PERF_TYPE_HARDWARE] = "hardware",
case PERF_TYPE_HARDWARE:
.type = PERF_TYPE_HARDWARE,
.type = PERF_TYPE_HARDWARE,
.type = PERF_TYPE_HARDWARE,
.type = PERF_TYPE_HARDWARE,
{ PERF_TYPE_HARDWARE, PERF_COUNT_HW_CPU_CYCLES, true },
{ PERF_TYPE_HARDWARE, PERF_COUNT_HW_INSTRUCTIONS, false },
TEST_ASSERT_VAL("wrong type", PERF_TYPE_HARDWARE == evsel->core.attr.type);
TEST_ASSERT_VAL("wrong type", PERF_TYPE_HARDWARE == evsel->core.attr.type);
TEST_ASSERT_VAL("wrong type", PERF_TYPE_HARDWARE == evsel->core.attr.type);
TEST_ASSERT_VAL("wrong type", PERF_TYPE_HARDWARE == evsel->core.attr.type);
TEST_ASSERT_VAL("wrong type", PERF_TYPE_HARDWARE == evsel->core.attr.type);
TEST_ASSERT_VAL("wrong type", PERF_TYPE_HARDWARE == evsel->core.attr.type);
TEST_ASSERT_VAL("wrong type", PERF_TYPE_HARDWARE == evsel->core.attr.type);
TEST_ASSERT_VAL("wrong type", PERF_TYPE_HARDWARE == evsel->core.attr.type);
.type = PERF_TYPE_HARDWARE,
[PERF_TYPE_HARDWARE] = {
type = PERF_TYPE_HARDWARE;
if ((output[PERF_TYPE_HARDWARE].fields & PERF_OUTPUT_CALLINDENT) ||
CHECK(attr->type == PERF_TYPE_HARDWARE);
CHECK(attr->type == PERF_TYPE_HARDWARE);
.type = PERF_TYPE_HARDWARE,
.type = PERF_TYPE_HARDWARE,
attr.type = PERF_TYPE_HARDWARE;
attr.type = PERF_TYPE_HARDWARE;
return attr->type == PERF_TYPE_HARDWARE &&
if (type != PERF_TYPE_HARDWARE && type != PERF_TYPE_HW_CACHE)
if ((e_type == PERF_TYPE_HARDWARE || e_type == PERF_TYPE_HW_CACHE) &&
if (type == PERF_TYPE_HARDWARE && evsel->pmu && evsel->pmu->is_core &&
evsel->core.attr.type == PERF_TYPE_HARDWARE &&
if (evsel->core.attr.type == PERF_TYPE_HARDWARE)
case PERF_TYPE_HARDWARE:
attr.type = PERF_TYPE_HARDWARE;
attr.type = PERF_TYPE_HARDWARE;
attr->type = PERF_TYPE_HARDWARE;
if (extended_type && (type == PERF_TYPE_HARDWARE || type == PERF_TYPE_HW_CACHE)) {
is_pmu_core = (attr->type == PERF_TYPE_HARDWARE ||
[PERF_TYPE_HARDWARE] = "hardware",
.type = PERF_TYPE_HARDWARE,
.type = PERF_TYPE_HARDWARE,
.type = PERF_TYPE_HARDWARE,
case PERF_TYPE_HARDWARE:
if (!pmu && (attr->type == PERF_TYPE_HARDWARE || attr->type == PERF_TYPE_HW_CACHE)) {
ENUM_ID_TO_STR_CASE(PERF_TYPE_HARDWARE)
attr->type = PERF_TYPE_HARDWARE;
if (attr.type == PERF_TYPE_HARDWARE)
case PERF_TYPE_HARDWARE: return false;
if (!is_event_supported(PERF_TYPE_HARDWARE, PERF_COUNT_HW_CPU_CYCLES | ((__u64)pmu->type << PERF_PMU_TYPE_SHIFT)))
bool legacy_core_type = type == PERF_TYPE_HARDWARE || type == PERF_TYPE_HW_CACHE;
.type = PERF_TYPE_HARDWARE,
fd_instr_count_percpu[cpu] = open_perf_counter(cpu, PERF_TYPE_HARDWARE, PERF_COUNT_HW_INSTRUCTIONS, -1, 0);
fd = open_perf_counter(master_cpu, PERF_TYPE_HARDWARE, PERF_COUNT_HW_INSTRUCTIONS, -1, 0);
fd = open_perf_counter(master_cpu, PERF_TYPE_HARDWARE, PERF_COUNT_HW_CACHE_REFERENCES, -1, PERF_FORMAT_GROUP);
fd_llc_percpu[cpu] = open_perf_counter(cpu, PERF_TYPE_HARDWARE, PERF_COUNT_HW_CACHE_REFERENCES, -1, PERF_FORMAT_GROUP);
retval = open_perf_counter(cpu, PERF_TYPE_HARDWARE, PERF_COUNT_HW_CACHE_MISSES, fd_llc_percpu[cpu], PERF_FORMAT_GROUP);
attr.type = PERF_TYPE_HARDWARE;
.type = PERF_TYPE_HARDWARE,
attr.type = PERF_TYPE_HARDWARE;
.type = PERF_TYPE_HARDWARE,
.type = PERF_TYPE_HARDWARE,
.type = PERF_TYPE_HARDWARE,
pe_fd = perf_event_open(PERF_TYPE_HARDWARE, PERF_COUNT_HW_CPU_CYCLES, pid);
pe_fd = perf_event_open(PERF_TYPE_HARDWARE,
.type = PERF_TYPE_HARDWARE,
.type = PERF_TYPE_HARDWARE,
event_init_opts(e, config, PERF_TYPE_HARDWARE, name);
setup_event(&events[0], PERF_COUNT_HW_INSTRUCTIONS, PERF_TYPE_HARDWARE, "instructions");
setup_event(&events[1], PERF_COUNT_HW_CPU_CYCLES, PERF_TYPE_HARDWARE, "cycles");
PERF_TYPE_HARDWARE, "event");
event_init_opts(&event, PERF_COUNT_HW_BRANCH_MISSES, PERF_TYPE_HARDWARE, "event");
event_init_opts(&event, PERF_COUNT_HW_BUS_CYCLES, PERF_TYPE_HARDWARE, "event");
PERF_TYPE_HARDWARE, "event");
PERF_TYPE_HARDWARE, "event");
event_init_opts(&event, PERF_COUNT_HW_REF_CPU_CYCLES, PERF_TYPE_HARDWARE, "event");
event_init_opts(&event, PERF_COUNT_HW_CPU_CYCLES, PERF_TYPE_HARDWARE, "event");
PERF_TYPE_HARDWARE, "event");
PERF_TYPE_HARDWARE, "event");
event_init_opts(&event, PERF_COUNT_HW_CACHE_MISSES, PERF_TYPE_HARDWARE, "event");
PERF_TYPE_HARDWARE, "event");
event_init_opts(&event, PERF_COUNT_HW_BRANCH_MISSES, PERF_TYPE_HARDWARE, "event");
event_init_opts(&event, PERF_COUNT_HW_BUS_CYCLES, PERF_TYPE_HARDWARE, "event");
PERF_TYPE_HARDWARE, "event");
PERF_TYPE_HARDWARE, "event");
event_init_opts(&event, PERF_COUNT_HW_REF_CPU_CYCLES, PERF_TYPE_HARDWARE, "event");
event_init_opts(&event, PERF_COUNT_HW_CPU_CYCLES, PERF_TYPE_HARDWARE, "event");
event_init_opts(&event, PERF_COUNT_HW_INSTRUCTIONS, PERF_TYPE_HARDWARE, "event");
PERF_TYPE_HARDWARE, "event");
event_init_opts(&event, PERF_COUNT_HW_CACHE_MISSES, PERF_TYPE_HARDWARE, "event");
PERF_TYPE_HARDWARE, "instructions");
PERF_TYPE_HARDWARE, "instructions(k)");
PERF_TYPE_HARDWARE, "instructions(h)");
PERF_TYPE_HARDWARE, "instructions(u)");
pea->type = PERF_TYPE_HARDWARE;