forked from torvalds/linux
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge tag 'perf-core-2020-08-03' of git://git.kernel.org/pub/scm/linu…
…x/kernel/git/tip/tip Pull perf event updates from Ingo Molnar: "HW support updates: - Add uncore support for Intel Comet Lake - Add RAPL support for Hygon Fam18h - Add Intel "IIO stack to PMON mapping" support on Skylake-SP CPUs, which enumerates per device performance counters via sysfs and enables the perf stat --iiostat functionality - Add support for Intel "Architectural LBRs", which generalized the model specific LBR hardware tracing feature into a model-independent, architected performance monitoring feature. Usage is mostly seamless to tooling, as the pre-existing LBR features are kept, but there's a couple of advantages under the hood, such as faster context-switching, faster LBR reads, cleaner exposure of LBR features to guest kernels, etc. ( Since architectural LBRs are supported via XSAVE, there's related changes to the x86 FPU code as well. ) ftrace/perf updates: - Add support to add a text poke event to record changes to kernel text (i.e. self-modifying code) in order to support tracers like Intel PT decoding through jump labels, kprobes and ftrace trampolines. Misc cleanups, smaller fixes..." * tag 'perf-core-2020-08-03' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (47 commits) perf/x86/rapl: Add Hygon Fam18h RAPL support kprobes: Remove unnecessary module_mutex locking from kprobe_optimizer() x86/perf: Fix a typo perf: <linux/perf_event.h>: drop a duplicated word perf/x86/intel/lbr: Support XSAVES for arch LBR read perf/x86/intel/lbr: Support XSAVES/XRSTORS for LBR context switch x86/fpu/xstate: Add helpers for LBR dynamic supervisor feature x86/fpu/xstate: Support dynamic supervisor feature for LBR x86/fpu: Use proper mask to replace full instruction mask perf/x86: Remove task_ctx_size perf/x86/intel/lbr: Create kmem_cache for the LBR context data perf/core: Use kmem_cache to allocate the PMU specific data perf/core: Factor out functions to allocate/free the task_ctx_data perf/x86/intel/lbr: Support Architectural LBR perf/x86/intel/lbr: Factor out intel_pmu_store_lbr perf/x86/intel/lbr: Factor out rdlbr_all() and wrlbr_all() perf/x86/intel/lbr: Mark the {rd,wr}lbr_{to,from} wrappers __always_inline perf/x86/intel/lbr: Unify the stored format of LBR information perf/x86/intel/lbr: Support LBR_CTL perf/x86: Expose CPUID enumeration bits for arch LBR ...
- Loading branch information
Showing
32 changed files
with
1,943 additions
and
280 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
What: /sys/devices/uncore_iio_x/dieX | ||
Date: February 2020 | ||
Contact: Roman Sudarikov <[email protected]> | ||
Description: | ||
Each IIO stack (PCIe root port) has its own IIO PMON block, so | ||
each dieX file (where X is die number) holds "Segment:Root Bus" | ||
for PCIe root port, which can be monitored by that IIO PMON | ||
block. | ||
For example, on 4-die Xeon platform with up to 6 IIO stacks per | ||
die and, therefore, 6 IIO PMON blocks per die, the mapping of | ||
IIO PMON block 0 exposes as the following: | ||
|
||
$ ls /sys/devices/uncore_iio_0/die* | ||
-r--r--r-- /sys/devices/uncore_iio_0/die0 | ||
-r--r--r-- /sys/devices/uncore_iio_0/die1 | ||
-r--r--r-- /sys/devices/uncore_iio_0/die2 | ||
-r--r--r-- /sys/devices/uncore_iio_0/die3 | ||
|
||
$ tail /sys/devices/uncore_iio_0/die* | ||
==> /sys/devices/uncore_iio_0/die0 <== | ||
0000:00 | ||
==> /sys/devices/uncore_iio_0/die1 <== | ||
0000:40 | ||
==> /sys/devices/uncore_iio_0/die2 <== | ||
0000:80 | ||
==> /sys/devices/uncore_iio_0/die3 <== | ||
0000:c0 | ||
|
||
Which means: | ||
IIO PMU 0 on die 0 belongs to PCI RP on bus 0x00, domain 0x0000 | ||
IIO PMU 0 on die 1 belongs to PCI RP on bus 0x40, domain 0x0000 | ||
IIO PMU 0 on die 2 belongs to PCI RP on bus 0x80, domain 0x0000 | ||
IIO PMU 0 on die 3 belongs to PCI RP on bus 0xc0, domain 0x0000 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.