diff options
| author | Kan Liang <[email protected]> | 2016-03-23 18:24:37 +0000 |
|---|---|---|
| committer | Ingo Molnar <[email protected]> | 2016-06-03 07:40:15 +0000 |
| commit | f2fb6bef92514432398a653df1c2f1041d79ac46 (patch) | |
| tree | 4d576da877bc1ff5ee08f81d53339b91ea04ced8 /tools/perf/scripts/python/check-perf-trace.py | |
| parent | Merge tag 'perf-core-for-mingo-20160530' of git://git.kernel.org/pub/scm/linu... (diff) | |
| download | kernel-f2fb6bef92514432398a653df1c2f1041d79ac46.tar.gz kernel-f2fb6bef92514432398a653df1c2f1041d79ac46.zip | |
perf/core: Optimize side-band event delivery
The perf_event_aux() function iterates all PMUs and all events in
their respective per-CPU contexts to find the events to deliver
side-band records to.
For example, the brk test case in lkp triggers many mmap() operations,
which, if we're also running perf, results in many perf_event_aux()
invocations.
If we enable uncore PMU support (even when uncore events are not used),
dozens of uncore PMUs will be iterated, which can significantly
decrease brk_test's throughput.
For example, the brk throughput:
without uncore PMUs: 2647573 ops_per_sec
with uncore PMUs: 1768444 ops_per_sec
... a 33% reduction.
To get at the per-CPU events that need side-band records, this patch
puts these events on a per-CPU list, this avoids iterating the PMUs
and any events that do not need side-band records.
Per task events are unchanged to avoid extra overhead on the context
switch paths.
Suggested-by: Peter Zijlstra (Intel) <[email protected]>
Reported-by: Huang, Ying <[email protected]>
Signed-off-by: Kan Liang <[email protected]>
Signed-off-by: Peter Zijlstra (Intel) <[email protected]>
Cc: Alexander Shishkin <[email protected]>
Cc: Arnaldo Carvalho de Melo <[email protected]>
Cc: Jiri Olsa <[email protected]>
Cc: Linus Torvalds <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Cc: Stephane Eranian <[email protected]>
Cc: Thomas Gleixner <[email protected]>
Cc: Vince Weaver <[email protected]>
Link: http://lkml.kernel.org/r/[email protected]
Signed-off-by: Ingo Molnar <[email protected]>
Diffstat (limited to 'tools/perf/scripts/python/check-perf-trace.py')
0 files changed, 0 insertions, 0 deletions
