summaryrefslogtreecommitdiff
path: root/tools/perf/scripts/python/exported-sql-viewer.py
diff options
context:
space:
mode:
authorKan Liang <kan.liang@linux.intel.com>2025-05-12 10:55:42 -0700
committerPeter Zijlstra <peterz@infradead.org>2025-11-07 15:08:23 +0100
commitbd24f9beed591422f45fa6d8d0d3bd3a755b8a48 (patch)
tree4c215a0ac9a78ce118e17f2c76638187296de04c /tools/perf/scripts/python/exported-sql-viewer.py
parentbb5f13df3c455110c4468a31a5b21954268108c9 (diff)
downloadkernel-bd24f9beed591422f45fa6d8d0d3bd3a755b8a48.tar.gz
perf/x86/intel: Add a check for dynamic constraints
The current event scheduler has a limit. If the counter constraint of an event is not a subset of any other counter constraint with an equal or higher weight. The counters may not be fully utilized. To workaround it, the commit bc1738f6ee83 ("perf, x86: Fix event scheduler for constraints with overlapping counters") introduced an overlap flag, which is hardcoded to the event constraint that may trigger the limit. It only works for static constraints. Many features on and after Intel PMON v6 require dynamic constraints. An event constraint is decided by both static and dynamic constraints at runtime. See commit 4dfe3232cc04 ("perf/x86: Add dynamic constraint"). The dynamic constraints are from CPUID enumeration. It's impossible to hardcode it in advance. It's not practical to set the overlap flag to all events. It's harmful to the scheduler. For the existing Intel platforms, the dynamic constraints don't trigger the limit. A real fix is not required. However, for virtualization, VMM may give a weird CPUID enumeration to a guest. It's impossible to indicate what the weird enumeration is. A check is introduced, which can list the possible breaks if a weird enumeration is used. Check the dynamic constraints enumerated for normal, branch counters logging, and auto-counter reload. Check both PEBS and non-PEBS constratins. Closes: https://lore.kernel.org/lkml/20250416195610.GC38216@noisy.programming.kicks-ass.net/ Signed-off-by: Kan Liang <kan.liang@linux.intel.com> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Link: https://patch.msgid.link/20250512175542.2000708-1-kan.liang@linux.intel.com
Diffstat (limited to 'tools/perf/scripts/python/exported-sql-viewer.py')
0 files changed, 0 insertions, 0 deletions
='2020-07-01 15:47:04 +0200'>2020-07-01staging: vchi: Get rid of flags argument in vchi_msg_hold()Nicolas Saenz Julienne 2020-07-01staging: vchi: Get rid of unnecessary definesNicolas Saenz Julienne 2020-07-01staging: vchi: Unify struct shim_service and struct vchi_service_handleNicolas Saenz Julienne 2020-07-01staging: vchi: Get rid of struct vchi_instance_handleNicolas Saenz Julienne 2020-07-01staging: mmal-vchiq: If the VPU returns an error, don't negate itDave Stevenson 2020-07-01staging: mmal-vchiq: Always return the param size from param_getDave Stevenson 2020-07-01staging: mmal-vchiq: Fix client_component for 64 bit kernelDave Stevenson 2020-07-01staging: mmal-vchiq: Make a mmal_buf struct for passing parametersDave Stevenson 2020-07-01staging: mmal-vchiq: Make timeout a defined parameterDave Stevenson 2020-06-25staging: mmal-vchiq: Allocate and free components as requiredDave Stevenson 2020-06-25staging: bcm2835: Break MMAL support out from cameraJacopo Mondi