linux/tools/perf/arch/x86/util/evlist.c
<<
>>
Prefs
   1// SPDX-License-Identifier: GPL-2.0
   2#include <stdio.h>
   3#include "util/pmu.h"
   4#include "util/evlist.h"
   5#include "util/parse-events.h"
   6
   7#define TOPDOWN_L1_EVENTS       "{slots,topdown-retiring,topdown-bad-spec,topdown-fe-bound,topdown-be-bound}"
   8#define TOPDOWN_L2_EVENTS       "{slots,topdown-retiring,topdown-bad-spec,topdown-fe-bound,topdown-be-bound,topdown-heavy-ops,topdown-br-mispredict,topdown-fetch-lat,topdown-mem-bound}"
   9
  10int arch_evlist__add_default_attrs(struct evlist *evlist)
  11{
  12        if (!pmu_have_event("cpu", "slots"))
  13                return 0;
  14
  15        if (pmu_have_event("cpu", "topdown-heavy-ops"))
  16                return parse_events(evlist, TOPDOWN_L2_EVENTS, NULL);
  17        else
  18                return parse_events(evlist, TOPDOWN_L1_EVENTS, NULL);
  19}
  20