mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-09-04 20:19:47 +08:00
The 'perf mem' and 'perf c2c' tools are wrappers around 'perf record' with mem load/ store events. IBS tagged load/store sample provides most of the information needed for these tools. Wire in the "ibs_op//" event as mem-ldst event for AMD. There are some limitations though: Only load/store micro-ops provide mem/c2c information. Whereas, IBS does not have a way to choose a particular type of micro-op to tag. This results in many non-LS micro-ops being tagged which appear as N/A in the perf report. IBS, being an uncore pmu from kernel point of view[1], does not support per process monitoring. Thus, perf mem/c2c on AMD are currently supported in per-cpu mode only. Example: $ sudo perf mem record -- -c 10000 ^C[ perf record: Woken up 227 times to write data ] [ perf record: Captured and wrote 58.760 MB perf.data (836978 samples) ] $ sudo perf mem report -F mem,sample,snoop Samples: 836K of event 'ibs_op//', Event count (approx.): 8418762 Memory access Samples Snoop N/A 700620 N/A L1 hit 126675 N/A L2 hit 424 N/A L3 hit 664 HitM L3 hit 10 N/A Local RAM hit 2 N/A Remote RAM (1 hop) hit 8558 N/A Remote Cache (1 hop) hit 3 N/A Remote Cache (1 hop) hit 2 HitM Remote Cache (2 hops) hit 10 HitM Remote Cache (2 hops) hit 6 N/A Uncached hit 4 N/A $ [1]: https://lore.kernel.org/lkml/20220829113347.295-1-ravi.bangoria@amd.com Signed-off-by: Ravi Bangoria <ravi.bangoria@amd.com> Acked-by: Jiri Olsa <jolsa@kernel.org> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com> Cc: Ali Saidi <alisaidi@amazon.com> Cc: Ananth Narayan <ananth.narayan@amd.com> Cc: Andi Kleen <ak@linux.intel.com> Cc: Borislav Petkov <bp@alien8.de> Cc: Dave Hansen <dave.hansen@linux.intel.com> Cc: H. Peter Anvin <hpa@zytor.com> Cc: Ian Rogers <irogers@google.com> Cc: Ingo Molnar <mingo@redhat.com> Cc: Joe Mario <jmario@redhat.com> Cc: Kan Liang <kan.liang@linux.intel.com> Cc: Kim Phillips <kim.phillips@amd.com> Cc: Leo Yan <leo.yan@linaro.org> Cc: Mark Rutland <mark.rutland@arm.com> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Sandipan Das <sandipan.das@amd.com> Cc: Santosh Shukla <santosh.shukla@amd.com> Cc: Stephane Eranian <eranian@google.com> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: x86@kernel.org Link: https://lore.kernel.org/r/20221006153946.7816-6-ravi.bangoria@amd.com Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> |
||
|---|---|---|
| .. | ||
| android.txt | ||
| asciidoc.conf | ||
| asciidoctor-extensions.rb | ||
| build-docdep.perl | ||
| build-xed.txt | ||
| Build.txt | ||
| callchain-overhead-calculation.txt | ||
| cat-texi.perl | ||
| db-export.txt | ||
| examples.txt | ||
| guest-files.txt | ||
| guestmount.txt | ||
| intel-bts.txt | ||
| intel-hybrid.txt | ||
| intel-pt.txt | ||
| itrace.txt | ||
| jit-interface.txt | ||
| jitdump-specification.txt | ||
| Makefile | ||
| manpage-1.72.xsl | ||
| manpage-base.xsl | ||
| manpage-bold-literal.xsl | ||
| manpage-normal.xsl | ||
| manpage-suppress-sp.xsl | ||
| perf-annotate.txt | ||
| perf-archive.txt | ||
| perf-arm-coresight.txt | ||
| perf-arm-spe.txt | ||
| perf-bench.txt | ||
| perf-buildid-cache.txt | ||
| perf-buildid-list.txt | ||
| perf-c2c.txt | ||
| perf-config.txt | ||
| perf-daemon.txt | ||
| perf-data.txt | ||
| perf-diff.txt | ||
| perf-dlfilter.txt | ||
| perf-evlist.txt | ||
| perf-ftrace.txt | ||
| perf-help.txt | ||
| perf-inject.txt | ||
| perf-intel-pt.txt | ||
| perf-iostat.txt | ||
| perf-kallsyms.txt | ||
| perf-kmem.txt | ||
| perf-kvm.txt | ||
| perf-kwork.txt | ||
| perf-list.txt | ||
| perf-lock.txt | ||
| perf-mem.txt | ||
| perf-probe.txt | ||
| perf-record.txt | ||
| perf-report.txt | ||
| perf-sched.txt | ||
| perf-script-perl.txt | ||
| perf-script-python.txt | ||
| perf-script.txt | ||
| perf-stat.txt | ||
| perf-test.txt | ||
| perf-timechart.txt | ||
| perf-top.txt | ||
| perf-trace.txt | ||
| perf-version.txt | ||
| perf.data-directory-format.txt | ||
| perf.data-file-format.txt | ||
| perf.txt | ||
| perfconfig.example | ||
| security.txt | ||
| tips.txt | ||
| topdown.txt | ||