* [GIT PULL] perf changes for v3.5
@ 2012-05-22 10:58 Ingo Molnar
0 siblings, 0 replies; only message in thread
From: Ingo Molnar @ 2012-05-22 10:58 UTC (permalink / raw)
To: Linus Torvalds
Cc: linux-kernel, Arnaldo Carvalho de Melo, Peter Zijlstra,
Thomas Gleixner, Andrew Morton
Linus,
Please pull the latest perf-core-for-linus git tree from:
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git perf-core-for-linus
HEAD: 73787190d04a34e6da745da893b3ae8bedde418f Merge branch 'perf/parse-events-4' of git://github.com/fweisbec/tracing into perf/core
Lots of changes:
- (much) improved assembly annotation support in perf report,
with jump visualization, searching, navigation, visual output
improvements and more.
- kernel support for AMD IBS PMU hardware features. Notably
'perf record -e cycles:p' and 'perf top -e cycles:p' should
work without skid now, like PEBS does on the Intel side,
because it takes advantage of IBS transparently.
- the libtracevents library: it is the first step towards
unifying tracing tooling and perf, and it also gives a
tracing library for external tools like powertop to rely on.
- infrastructure: various improvements and refactoring of the
UI modules and related code
- infrastructure: cleanup and simplification of the profiling
targets code (--uid, --pid, --tid, --cpu, --all-cpus, etc.)
- tons of robustness fixes all around
- various ftrace updates: speedups, cleanups, robustness
improvements.
- typing 'make' in tools/ will now give you a menu of projects
to build and a short help text to explain what each does.
- ... and lots of other changes I forgot to list.
The perf record make bzImage + perf report regression you
reported should be fixed.
Thanks,
Ingo
------------------>
Arnaldo Carvalho de Melo (54):
perf ui browser: Return the current color when setting a new one
perf annotate: Allow printing objdump line addr in different color
perf ui annotate browser: Allow toggling addr offset view
perf ui annotate browser: Move callq handling to separate function
perf ui annotate browser: Add list based search for addr offset
perf annotate browser: Initial support for navigating jump instructions
perf annotate browser: string search: /?n
perf annotate: Rename objdump_line to disasm_line
perf annotate: Parse instruction
perf annotate browser: Use the disasm_line instruction name and operand fields
perf annotate: Disassembler instruction parsing
perf annotate: Parse call targets earlier
perf annotate: Introduce scnprintf ins_ops method
perf annotate browser: Rename disasm_line_rb_node
perf symbols: Introduce symbol__size method
perf annotate browser: Hide non jump target addresses in offset mode
perf annotate browser: Align jump labels
perf annotate browser: Make lines more compact
perf annotate browser: Use a vertical line as percentage separator
perf annotate: Add missing jump variants
perf annotate: Group operands members
perf annotate browser: Bandaid offsets/jump label objdump ambiguity
perf annotate browser: Suppress the callq address
perf annotate browser: Add visual cues on jump lines
perf annotate browser: Add visual cue for retq instruction
perf annotate browser: Handle retq instructions
ui browser: Add method to write graphical characters
perf annotate browser: Initial loop detection
perf annotate browser: Handle NULL jump targets
perf annotate: Disambiguage offsets and addresses in operands
perf annotate: Mark jump instructions with no offset
perf annotate browser: Don't draw jump connectors for out of function jumps
perf annotate browser: Add a right arrow before call instructions
perf ui browser: Add method to draw up/down arrow line
perf annotate browser: Show current jump, back or forward
perf annotate browser: Remove the vertical line after the percentages
perf annotate browser: Don't display 0.00 percentages
perf test: Make the rdpmc test honour 'verbose' mode
perf ui browser: Introduce routine to draw vertical line
perf annotate browser: More clearly separate columns
perf annotate browser: Don't change the asm line color when toggling source
perf top: Set target.system_wide
perf annotate browser: Do raw printing in 'o'ffset in a single place
perf annotate browser: Compact 'nop' output
perf top: Default to system wide using perf_target methods
perf hists browser: Use '/' for search/filter instead of 's'
perf annotate: Use raw form for register indirect call instructions
perf annotate: Resolve symbols using objdump comment
perf annotate: Resolve symbols using objdump comment for single op ins
perf annotate: Augment lock instruction output
perf annotate: Introduce ->free() method in ins_ops
perf annotate browser: Count the numbers of jump sources to a target
perf annotate browser: Show 'jumpy' functions
perf annotate browser: Add key bindings help window
Ashay Rane (1):
perf report: Correct display of samples and events in header
Borislav Petkov (5):
tools: Add Makefile.include
tools: Cleanup EXTRA_WARNINGS
tools: Add a toplevel Makefile
tools: Add a help target
tools: Connect to the kernel build system
Dan Carpenter (1):
tracing: Remove an unneeded check in trace_seq_buffer()
David Ahern (6):
perf record: Fix fallback to cpu-clock on ppc
perf stat: handle ENXIO error for perf_event_open
perf top: Update event name when falling back to cpu-clock
perf record: Reset event name when falling back to cpu-clock
perf annotate: shorten helpline so it fits in visible space
perf evsel: Create events initially disabled -- again
Ingo Molnar (1):
perf/x86: Clean up register_nmi_handler() usage
Jiri Olsa (6):
perf tools: Fix parsers' rules to dependencies
perf session: Fail on processing event with unknown size
tracing: Use seq_*_private interface for some seq files
perf report: Fix format string for x86-32 compilation
perf hists: Fix callchain ip printf format
perf tools: Split term type into value type and term type
Julia Lawall (1):
perf/events: Correct size given to memset
Minho Ban (1):
tracing: Prevent wasting time evaluating parameters in trace_preempt_on/off
Namhyung Kim (26):
perf tools: Ignore auto-generated bison/flex files
perf annotate: Fix a build error
perf tools: Move UI bits to tools/perf/ui directory
perf tools: Move GTK+ bits to tools/perf/ui/gtk directory
perf tools: Introduce struct perf_target
perf stat: Convert to struct perf_target
perf top: Convert to struct perf_target
perf tools: Introduce perf_target__validate() helper
perf evlist: Make create_maps() take struct perf_target
perf tools: Check more combinations of PID/TID, UID and CPU switches
perf target: Split out perf_target handling code
perf ui: Make setup_browser() generic
perf ui gtk: Drop arg[cv] arguments from perf_gtk_setup_browser()
perf ui gtk: Rename functions for consistency
perf ui: Add gtk2 support into setup_browser()
perf ui: Change fallback policy of setup_browser()
perf evlist: Fix creation of cpu map
perf target: Introduce perf_target_errno
perf target: Introduce perf_target__parse_uid()
perf tools: Introduce perf_target__strerror()
perf target: Consolidate target task/cpu checking
perf stat: Use perf_evlist__create_maps
perf target: Rename functions to avoid double negation
Revert 'perf evlist: Fix creation of cpu map'
tracing: Check return value of tracing_dentry_percpu()
perf target: Add uses_mmap field
Peter Zijlstra (1):
sched, perf: Use a single callback into the scheduler
Richard Weinberger (1):
tracing: Remove kernel_lock annotations
Robert Richter (25):
perf/x86: Implement IBS event configuration
perf/x86: Implement IBS interrupt handler
perf/x86: Implement IBS pmu control ops
perf/x86: Implement 64-bit counter support for IBS
perf stat: Declare some references static
perf tools: Fix thread map that is type pid_t
perf record: Use sw counter only if hw pmu is not detected
perf: Trivial cleanup of duplicate code
perf/x86: Fix cmpxchg() usage in amd_put_event_constraints()
perf: Use static variant of perf_event_overflow in core.c
perf: Remove PERF_COUNTERS config option
perf tools: Fix include header files in util/parse-events.h
perf/x86-ibs: Fix update of period
perf: Pass last sampling period to perf_sample_data_init()
perf/x86-ibs: Enable ibs op micro-ops counting mode
perf/x86-ibs: Fix frequency profiling
perf/x86-ibs: Take instruction pointer from ibs sample
perf/x86-ibs: Precise event sampling with IBS for AMD CPUs
perf/x86-ibs: Rename some variables
perf/x86-ibs: Trigger overflow if remaining period is too small
perf/x86-ibs: Extend hw period that triggers overflow
perf/x86-ibs: Implement workaround for IBS erratum #420
perf/x86-ibs: Catch spurious interrupts after stopping IBS
perf/x86-ibs: Fix usage of IBS op current count
perf/x86/ibs: Fix undefined reference to `get_ibs_caps'
Steven Rostedt (26):
tracing: Add percpu buffers for trace_printk()
perf: Separate out trace-cmd parse-events from perf files
tools/events: Add files to create libtraceevent.a
perf: Build libtraceevent.a
events: Update tools/lib/traceevent to work with perf
perf: Have perf use the new libtraceevent.a library
perf/events: Add flag to produce nsec output
parse-events: Let pevent_free() take a NULL pointer
parse-events: Allow '*' and '/' operations in TP_printk
parse-event: Fix memset pointer size bug in handle
parse-events: Rename struct record to struct pevent_record
ftrace/x86: Have arch x86_64 use breakpoints instead of stop machine
ftrace/x86: Remove the complex ftrace NMI handling code
ftrace/x86: Use asm/kprobes.h instead of linux/kprobes.h
tracing: Remove ftrace_disable/enable_cpu()
tracing: Clean up tracing_mark_write()
ring-buffer: Add integrity check at end of iter read
ring-buffer: Reset head page before running self test
ftrace: Sort all function addresses, not just per page
ftrace: Remove extra helper functions
ftrace: Speed up search by skipping pages by address
ftrace: Consolidate ftrace_location() and ftrace_text_reserved()
ftrace: Return record ip addr for ftrace_location()
ftrace: Make ftrace_modify_all_code() global for archs to use
ftrace/x86: Have x86 ftrace use the ftrace_modify_all_code()
ftrace: Remove selecting FRAME_POINTER with FUNCTION_TRACER
Tom Zanussi (1):
perf/events: Add flag/symbol format_flags
Ulrich Drepper (1):
perf tools: Cleanup realloc use
Vaibhav Nagarnaik (9):
ring-buffer: Add per_cpu ring buffer control files
parse-events: Handle invalid opcode parsing gracefully
parse-events: Handle opcode parsing error
parse-events: Support '+' opcode in print format
ring-buffer: Make removal of ring buffer pages atomic
ring-buffer: Make addition of pages in ring buffer atomic
tracing: change CPU ring buffer state from tracing_cpumask
ring-buffer: Merge separate resize loops
tracing: Fix initial buffer_size_kb state
Makefile | 7 +
arch/alpha/kernel/perf_event.c | 3 +-
arch/arm/configs/bcmring_defconfig | 2 +-
arch/arm/kernel/perf_event_v6.c | 4 +-
arch/arm/kernel/perf_event_v7.c | 4 +-
arch/arm/kernel/perf_event_xscale.c | 8 +-
arch/mips/kernel/perf_event_mipsxx.c | 2 +-
arch/powerpc/configs/chroma_defconfig | 2 +-
arch/powerpc/configs/gamecube_defconfig | 2 +-
arch/powerpc/configs/wii_defconfig | 2 +-
arch/powerpc/perf/core-book3s.c | 3 +-
arch/powerpc/perf/core-fsl-emb.c | 3 +-
arch/sh/configs/sh7785lcr_32bit_defconfig | 2 +-
arch/sparc/configs/sparc64_defconfig | 2 +-
arch/sparc/kernel/perf_event.c | 4 +-
arch/x86/Kconfig | 1 -
arch/x86/include/asm/ftrace.h | 3 +
arch/x86/include/asm/msr-index.h | 5 +
arch/x86/include/asm/perf_event.h | 12 +-
arch/x86/kernel/cpu/perf_event.c | 7 +-
arch/x86/kernel/cpu/perf_event_amd.c | 11 +-
arch/x86/kernel/cpu/perf_event_amd_ibs.c | 570 +++-
arch/x86/kernel/cpu/perf_event_intel.c | 4 +-
arch/x86/kernel/cpu/perf_event_intel_ds.c | 6 +-
arch/x86/kernel/cpu/perf_event_p4.c | 6 +-
arch/x86/kernel/ftrace.c | 500 ++-
arch/x86/kernel/nmi.c | 10 +-
arch/x86/kernel/traps.c | 8 +-
include/asm-generic/vmlinux.lds.h | 2 +-
include/linux/ftrace.h | 19 +-
include/linux/kernel.h | 13 +-
include/linux/perf_event.h | 29 +-
include/linux/ring_buffer.h | 6 +-
init/Kconfig | 14 +-
kernel/events/core.c | 25 +-
kernel/sched/core.c | 9 +-
kernel/trace/Kconfig | 1 -
kernel/trace/ftrace.c | 242 +-
kernel/trace/ring_buffer.c | 585 ++-
kernel/trace/trace.c | 503 ++-
kernel/trace/trace.h | 4 +-
kernel/trace/trace_printk.c | 4 +
tools/Makefile | 77 +
tools/lib/traceevent/Makefile | 303 ++
tools/lib/traceevent/event-parse.c | 5065 ++++++++++++++++++++
tools/lib/traceevent/event-parse.h | 804 ++++
tools/lib/traceevent/event-utils.h | 80 +
tools/lib/traceevent/parse-filter.c | 2262 +++++++++
tools/lib/traceevent/parse-utils.c | 110 +
tools/lib/traceevent/trace-seq.c | 200 +
tools/perf/Documentation/perfconfig.example | 1 +
tools/perf/Makefile | 117 +-
tools/perf/builtin-kmem.c | 6 +-
tools/perf/builtin-lock.c | 26 +-
tools/perf/builtin-record.c | 63 +-
tools/perf/builtin-report.c | 21 +-
tools/perf/builtin-sched.c | 42 +-
tools/perf/builtin-script.c | 2 +-
tools/perf/builtin-stat.c | 86 +-
tools/perf/builtin-test.c | 13 +-
tools/perf/builtin-top.c | 54 +-
tools/perf/perf.h | 8 +-
tools/perf/{util => }/ui/browser.c | 116 +-
tools/perf/{util => }/ui/browser.h | 9 +-
tools/perf/ui/browsers/annotate.c | 867 ++++
tools/perf/{util => }/ui/browsers/hists.c | 26 +-
tools/perf/{util => }/ui/browsers/map.c | 6 +-
tools/perf/{util => }/ui/browsers/map.h | 0
tools/perf/{util => ui}/gtk/browser.c | 31 +-
tools/perf/{util => ui}/gtk/gtk.h | 0
tools/perf/ui/gtk/setup.c | 12 +
tools/perf/{util => }/ui/helpline.c | 0
tools/perf/{util => }/ui/helpline.h | 0
tools/perf/{util => }/ui/keysyms.h | 0
tools/perf/{util => }/ui/libslang.h | 0
tools/perf/{util => }/ui/progress.c | 0
tools/perf/{util => }/ui/progress.h | 0
tools/perf/ui/setup.c | 45 +
tools/perf/{util/ui => ui/tui}/setup.c | 77 +-
tools/perf/{util => }/ui/ui.h | 0
tools/perf/{util => }/ui/util.c | 0
tools/perf/{util => }/ui/util.h | 0
tools/perf/util/annotate.c | 599 +++-
tools/perf/util/annotate.h | 67 +-
tools/perf/util/cache.h | 24 +-
tools/perf/util/debug.c | 1 +
tools/perf/util/debug.h | 2 +-
tools/perf/util/evlist.c | 16 +-
tools/perf/util/evlist.h | 4 +-
tools/perf/util/evsel.c | 11 +-
tools/perf/util/header.c | 17 +-
tools/perf/util/hist.c | 2 +-
tools/perf/util/hist.h | 2 +-
tools/perf/util/parse-events.c | 45 +-
tools/perf/util/parse-events.h | 23 +-
tools/perf/util/parse-events.y | 16 +-
tools/perf/util/pmu.c | 70 +-
.../util/scripting-engines/trace-event-python.c | 16 +-
tools/perf/util/session.c | 30 +-
tools/perf/util/symbol.h | 5 +
tools/perf/util/target.c | 142 +
tools/perf/util/target.h | 65 +
tools/perf/util/thread_map.h | 2 +-
tools/perf/util/top.c | 19 +-
tools/perf/util/top.h | 6 +-
tools/perf/util/trace-event-info.c | 4 +-
tools/perf/util/trace-event-parse.c | 3220 +------------
tools/perf/util/trace-event-read.c | 44 +-
tools/perf/util/trace-event.h | 269 +-
tools/perf/util/ui/browsers/annotate.c | 433 --
tools/perf/util/usage.c | 38 -
tools/perf/util/util.c | 10 +
tools/perf/util/util.h | 5 +-
tools/scripts/Makefile.include | 58 +
114 files changed, 13439 insertions(+), 5004 deletions(-)
create mode 100644 tools/Makefile
create mode 100644 tools/lib/traceevent/Makefile
create mode 100644 tools/lib/traceevent/event-parse.c
create mode 100644 tools/lib/traceevent/event-parse.h
create mode 100644 tools/lib/traceevent/event-utils.h
create mode 100644 tools/lib/traceevent/parse-filter.c
create mode 100644 tools/lib/traceevent/parse-utils.c
create mode 100644 tools/lib/traceevent/trace-seq.c
rename tools/perf/{util => }/ui/browser.c (81%)
rename tools/perf/{util => }/ui/browser.h (86%)
create mode 100644 tools/perf/ui/browsers/annotate.c
rename tools/perf/{util => }/ui/browsers/hists.c (98%)
rename tools/perf/{util => }/ui/browsers/map.c (97%)
rename tools/perf/{util => }/ui/browsers/map.h (100%)
rename tools/perf/{util => ui}/gtk/browser.c (85%)
rename tools/perf/{util => ui}/gtk/gtk.h (100%)
create mode 100644 tools/perf/ui/gtk/setup.c
rename tools/perf/{util => }/ui/helpline.c (100%)
rename tools/perf/{util => }/ui/helpline.h (100%)
rename tools/perf/{util => }/ui/keysyms.h (100%)
rename tools/perf/{util => }/ui/libslang.h (100%)
rename tools/perf/{util => }/ui/progress.c (100%)
rename tools/perf/{util => }/ui/progress.h (100%)
create mode 100644 tools/perf/ui/setup.c
rename tools/perf/{util/ui => ui/tui}/setup.c (74%)
rename tools/perf/{util => }/ui/ui.h (100%)
rename tools/perf/{util => }/ui/util.c (100%)
rename tools/perf/{util => }/ui/util.h (100%)
create mode 100644 tools/perf/util/target.c
create mode 100644 tools/perf/util/target.h
delete mode 100644 tools/perf/util/ui/browsers/annotate.c
create mode 100644 tools/scripts/Makefile.include
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2012-05-22 10:58 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-05-22 10:58 [GIT PULL] perf changes for v3.5 Ingo Molnar
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.