[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20240905202426.2690105-1-namhyung@kernel.org>
Date: Thu, 5 Sep 2024 13:24:16 -0700
From: Namhyung Kim <namhyung@...nel.org>
To: Arnaldo Carvalho de Melo <acme@...nel.org>,
Ian Rogers <irogers@...gle.com>,
Kan Liang <kan.liang@...ux.intel.com>
Cc: Jiri Olsa <jolsa@...nel.org>,
Adrian Hunter <adrian.hunter@...el.com>,
Peter Zijlstra <peterz@...radead.org>,
Ingo Molnar <mingo@...nel.org>,
LKML <linux-kernel@...r.kernel.org>,
linux-perf-users@...r.kernel.org,
Ravi Bangoria <ravi.bangoria@....com>,
Mark Rutland <mark.rutland@....com>,
James Clark <james.clark@....com>,
Kajol Jain <kjain@...ux.ibm.com>,
Thomas Richter <tmricht@...ux.ibm.com>,
Atish Patra <atishp@...shpatra.org>,
Palmer Dabbelt <palmer@...osinc.com>,
Mingwei Zhang <mizhang@...gle.com>
Subject: [RFC/PATCHSET 00/10] perf tools: Do not set attr.exclude_guest by default (v3)
Hello,
I found perf tools set exclude_guest bit inconsistently. It used to
set the bit but now the default event for perf record doesn't. So I'm
wondering why we want the bit in the first place.
Actually it's not good for PMUs don't support any exclusion like AMD
IBS because it disables new features after the exclude_guest due to
the missing feature detection logic.
v3 changes)
* move exclude_guest fallback to the front
* fix precise_max handling on AMD
* simplify the default event for perf record
v2) https://lore.kernel.org/lkml/20240904064131.2377873-1-namhyung@kernel.org/
* update the missing feature detection logic
* separate exclude_hv fallback
* add new fallback for exclude_guest
v1) https://lore.kernel.org/lkml/20240902014621.2002343-1-namhyung@kernel.org/
AFAIK it doesn't matter for the most cases but perf kvm. If users
need to set the bit, they can still use :H modifier. For vPMU pass-
through or Apple M1, it'd add the exclude_guest during the fallback
logic.
Also the kernel feature detection logic should be separated from the
exclude bit tests since it depends on the PMU implementation rather
than the core kernel features. So I changed it to use a software
event for the detection and factor out some hw-specific checks.
The code is available at 'perf/exclude-v3' branch in
git://git.kernel.org/pub/scm/linux/kernel/git/namhyung/linux-perf.git
Thanks,
Namhyung
Namhyung Kim (10):
perf tools: Add fallback for exclude_guest
perf tools: Don't set attr.exclude_guest by default
perf tools: Simplify evsel__add_modifier()
perf stat: Add --exclude-guest option
perf tools: Do not set exclude_guest for precise_ip
perf tools: Detect missing kernel features properly
perf tools: Separate exclude_hv fallback
perf tools: Move x86__is_amd_cpu() to util/env.c
perf tools: Check fallback error and order
perf record: Just use "cycles:P" as the default event
tools/perf/Documentation/perf-stat.txt | 7 +
tools/perf/arch/x86/util/Build | 1 -
tools/perf/arch/x86/util/env.c | 19 -
tools/perf/arch/x86/util/env.h | 7 -
tools/perf/arch/x86/util/pmu.c | 2 +-
tools/perf/builtin-kvm.c | 1 +
tools/perf/builtin-record.c | 4 +-
tools/perf/builtin-stat.c | 5 +-
tools/perf/dlfilters/dlfilter-test-api-v0.c | 2 +-
tools/perf/dlfilters/dlfilter-test-api-v2.c | 2 +-
tools/perf/tests/attr/test-record-dummy-C0 | 2 +-
tools/perf/tests/parse-events.c | 30 +-
tools/perf/util/env.c | 23 ++
tools/perf/util/env.h | 4 +
tools/perf/util/evsel.c | 410 +++++++++++++++-----
tools/perf/util/evsel.h | 1 -
tools/perf/util/parse-events.c | 6 +-
tools/perf/util/util.c | 10 +-
tools/perf/util/util.h | 3 +
19 files changed, 371 insertions(+), 168 deletions(-)
delete mode 100644 tools/perf/arch/x86/util/env.c
delete mode 100644 tools/perf/arch/x86/util/env.h
--
2.46.0.469.g59c65b2a67-goog
Powered by blists - more mailing lists