[GIT PULL] perf changes for v2.6.39
From: Ingo Molnar
Date: Tue Mar 15 2011 - 16:01:29 EST
Linus,
Please pull the latest perf-core-for-linus git tree from:
git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip.git perf-core-for-linus
Thanks,
Ingo
------------------>
Andi Kleen (2):
perf: Add support for supplementary event registers
perf: Fix LLC-* events on Intel Nehalem/Westmere
Arnaldo Carvalho de Melo (77):
perf evsel: Introduce perf_evlist
perf evlist: Adopt the pollfd array
perf evsel: Support event groups
perf evsel: Allow specifying if the inherit bit should be set
perf top: Use perf_evsel__open
perf record: Use perf_evsel__open
perf evsel: Introduce mmap support
perf record: Use struct perf_mmap and helpers
perf record: Move perf_mmap__write_tail to perf.h
perf evlist: Move the mmap array from perf_evsel
perf record: Use perf_evlist__mmap
perf tools: Add missing cpu_map__delete()
perf test: Check counts on all cpus in test__open_syscall_event_on_all_cpus
perf evlist: Steal mmap reading routine from 'perf top'
perf test: Add test for the evlist mmap routines
perf top: Add native_safe_halt to skip symbols
perf tools: Pass the struct opt to the wildcard parsing routine
perf threads: Move thread_map to separate file
perf tools: Move event__parse_sample to evsel.c
perf evsel: Introduce perf_evsel__{in,ex}it
perf record: No need to check for overwrites
perf events: Account PERF_RECORD_LOST events in event__process
perf evlist: Support non overwrite mode in perf_evlist__read_on_cpu
perf top: Switch to non overwrite mode
perf tools: Rename 'struct sample_data' to 'struct perf_sample'
perf tools: Kill event_t typedef, use 'union perf_event' instead
perf tools: Initial python binding
perf evlist: Move evlist methods to evlist.c
perf evlist: Store pointer to the cpu and thread maps
perf top: Move display agnostic routines to util/top.[ch]
perf tools: Don't fallback to setup_pager unconditionally
perf top: Introduce slang based TUI
perf probe: Use %td for pointer arithmetic result
perf python: Fix build on 32-bit
perf tools: Remove verbose build messages for the python binding
perf tools: Fix up 'make clean' target
perf stat: Fix up resource release order
perf tools: Don't try to build python bindings if Python.h not available
perf top: Remove superfluous name_len field
perf annotate: Move annotate functions to util/
perf annotate: Support multiple histograms in annotation
perf annotate: Config options for symbol__tty_annotate
perf annotate: Separate objdump parsing from actual screen rendering
perf top: Ditch private annotation code, share perf annotate's
perf annotate: Fix --stdio rendering
perf annotate: Move locking to struct annotation
perf annotate: Fix annotate context lines regression
perf report: Fix initializion of annotate symbol priv area
perf ui: Serialize screen updates
perf annotate: Check if offset is less than symbol size
perf annotate browser: Use the percent color for the whole line
perf python: Add cgroup.c to setup.py to get it building again
perf hists: Print number of samples, not the period sum
perf record: Delay setting the header writing atexit call
perf report: Tell the user when a perf.data file has no samples
perf list: Allow filtering list of events
perf probe: Fix error propagation leading to segfault
perf evsel: Fix inverted test for fixing up attr.inherit flag
perf probe: Remove redundant checks
perf top: Live TUI Annotation
perf top browser: Adjust the browser indexes when refreshing
perf annotate: Show better message when no vmlinux is found
perf top browser: Fix up exit keys
perf ui browser: Introduce ui_browser__show_title
perf symbols: Fix vmlinux path when not using --symfs
perf top browser: Handle empty active symbols list
perf tui: Make ui__warning modal
perf top: Fix reporting of invalid --vmlinux
perf top tui: Wait till the first sample to refresh the screen.
perf report tui: Fix multi event switching
perf hists: Remove needless global col lenght calcs
perf hists browser: Handle browsing empty hists tree
perf evlist: Split perf_evlist__id_hash
perf tools: Improve support for sessions with multiple events
perf report tui: Improve multi event session support
perf session: Use evlist/evsel for managing perf.data attributes
perf header: Stop using 'self'
Borislav Petkov (1):
perf annotate: Fix build error
David Sharp (8):
tracing: Add an 'overwrite' trace_option.
ring-buffer: Remove unused #include <linux/trace_irq.h>
tracing: Fix event alignment: ftrace:context_switch and ftrace:wakeup
tracing: Fix event alignment: module:module_request
tracing: Fix event alignment: kvm:kvm_hv_hypercall
tracing: Fix event alignment: mce:mce_record
tracing: Fix event alignment: skb:kfree_skb
tracing: Adjust conditional expression latency formatting.
Denis Kirjanov (1):
perf top: Use pid_t for target_{pid|tid}
Franck Bui-Huu (2):
perf record: auto detect when stdout is a pipe
perf probe: Rewrite find_lazy_match_lines() by using getline(3)
Frederic Weisbecker (7):
perf callchain: Feed callchains into a cursor
perf callchain: Rename cumul_hits into callchain_cumul_hits
perf callchain: Rename register_callchain_param into callchain_register_param
perf callchain: Don't give arbitrary gender to callchain tree nodes
perf: Set filters before mmaping events
perf: Fix missing strndup declaration
perf: Fix undefined PyVarObject_HEAD_INIT in python 2.5
Han Pingtian (2):
perf test: check if cpu_map__new() return NULL
perf test: Fix return values checking
Ian Munsie (5):
tracing/syscalls: Don't add events for unmapped syscalls
tracing/syscalls: Convert redundant syscall_nr checks into WARN_ON
tracing/syscalls: Make arch_syscall_addr weak
tracing/syscalls: Allow arch specific syscall symbol matching
tracing/syscalls: Early terminate search for sys_ni_syscall
Ingo Molnar (2):
Revert "tracing: Add unstable sched clock note to the warning"
perf probe: Clean up probe_point_lazy_walker() return value
Jan Beulich (1):
x86: Remove die_nmi()
Jesse Brandeburg (1):
perf tools: Update Makefile with some help
Jiri Olsa (6):
tracing: Add unstable sched clock note to the warning
x86: Separate out entry text section
kprobes: Disabling optimized kprobes for entry text section
perf top: Fix events overflow in top command
perf top: Don't let events to eat up whole header line
tracing: Explain about unstable clock on resume with ring buffer warning
Kyle McMartin (1):
perf tool: Fix gcc 4.6.0 issues
Lai Jiangshan (1):
tracing: Compile time initialization for event flags value
Li Zefan (4):
perf cgroup: Fix leak of file reference count
perf cgroup: Fix unmatched call to perf_detach_cgroup()
perf cgroup: Clean up perf_cgroup_create()
perf cgroup: Fix a typo in kernel config
Lin Ming (3):
perf, x86: Add Intel SandyBridge CPU support
perf: Fix the missing event initialization when pmu is found in idr
perf: Avoid the percore allocations if the CPU is not HT capable
Marcin Slusarz (1):
perf lock: Document valid sort keys
Masami Hiramatsu (13):
perf probe: Introduce lines walker interface
perf probe: Enable to put probe inline function call site
perf probe: Add --funcs to show available functions in symtab
perf tools: Add strfilter for general purpose string filter
perf probe: Add variable filter support
perf probe: Add filters support for available functions
tracing/kprobes: Cleanup strict_strtol() using code
tracing/kprobes: Support longer (>128 bytes) command
tracing/kprobes: Add bitfield type
perf probe: Add bitfield member support
tracing/kprobe: Fix NULL pointer deref check
perf probe: Support function@filename syntax for --line
perf probe: Show filename which contains target function
Michael Witten (5):
perf tools: Makefile: Use $(QUIET_GEN) for perf.so
perf tools: Makefile: Remove vestigial git-specific cruft
perf tools: Makefile: Remove platform-specific cruft
perf tools: Makefile: Remove tool-specific cruft
perf tools: Makefile: Remove various and sundry cruft
Peter Zijlstra (6):
perf: Cure task_oncpu_function_call() races
cgroup: Fix cgroup_subsys::exit callback
perf: Optimize throttling code
perf: Optimize hrtimer events
perf: Simplify task_clock_event_read()
perf: Fix cgroup vs jump_label problem
Robert Richter (5):
perf, x86: Use helper function in x86_pmu_enable_all()
perf, x86: Calculate perfctr msr addresses in helper functions
perf, x86: Add new AMD family 15h msrs to perfctr reservation code
perf, x86: Store perfctr msr addresses in config_base/event_base
perf, x86: Add support for AMD family 15h core counters
Stephane Eranian (5):
perf: Add cgroup support
perf tool: Add cgroup support
perf: make perf stat print user provided full event names
perf_events: Fix rcu and locking issues with cgroup support
perf_events: Update PEBS event constraints
Steven Rostedt (22):
tracing/filter: Have no filter return a match
tracing/filter: Move OR and AND logic out of fn() method
tracing/filter: Dynamically allocate preds
tracing/filter: Call synchronize_sched() just once for system filters
tracing/filter: Allocate the preds in an array
tracing/filter: Free pred array on disabling of filter
tracing/filter: Use a tree instead of stack for filter_match_preds()
tracing/filter: Optimize short ciruit check
tracing/filter: Check the created pred tree
tracing/filter: Optimize filter by folding the tree
tracing/filter: Move MAX_FILTER_PRED to local tracing directory
tracing/filter: Increase the max preds to 2^14
tracing/filter: Swap entire filter of events
tracing/filter: Remove synchronize_sched() from __alloc_preds()
tracing: Remove obsolete sched_switch tracer
tracing: Deprecate tracing_enabled for tracing_on
ftrace: Fix memory leak with function graph and cpu hotplug
tracing: Remove lock_depth from event entry
ftrace: Add .ref.text as one of the safe areas to trace
ftrace/graph: Trace function entry before updating index
tracing: Align 4 byte ints together in struct tracer
tracing: Fix irqoff selftest expanding max buffer
Uwe Kleine-König (1):
trivial: Fix Steven's Copyright typos
Yinghai Lu (2):
x86, perf: Change two init functions to static
perf top: Fix TUI compilation
Yuanhan Liu (1):
tracing: Export trace_set_clr_event()
Documentation/trace/ftrace-design.txt | 7 +
Documentation/trace/ftrace.txt | 151 +---
Documentation/trace/kprobetrace.txt | 16 +-
arch/x86/ia32/ia32entry.S | 2 +
arch/x86/include/asm/cpufeature.h | 2 +
arch/x86/include/asm/kdebug.h | 1 -
arch/x86/include/asm/msr-index.h | 3 +
arch/x86/include/asm/nmi.h | 1 -
arch/x86/include/asm/smp.h | 10 +
arch/x86/kernel/cpu/perf_event.c | 170 +++-
arch/x86/kernel/cpu/perf_event_amd.c | 175 ++++-
arch/x86/kernel/cpu/perf_event_intel.c | 417 ++++++++-
arch/x86/kernel/cpu/perf_event_intel_ds.c | 97 ++-
arch/x86/kernel/cpu/perf_event_p4.c | 8 +-
arch/x86/kernel/cpu/perf_event_p6.c | 4 +-
arch/x86/kernel/cpu/perfctr-watchdog.c | 4 +
arch/x86/kernel/dumpstack.c | 25 -
arch/x86/kernel/entry_32.S | 6 +-
arch/x86/kernel/entry_64.S | 6 +-
arch/x86/kernel/ftrace.c | 15 +-
arch/x86/kernel/kgdb.c | 9 -
arch/x86/kernel/kprobes.c | 8 +
arch/x86/kernel/vmlinux.lds.S | 1 +
arch/x86/kvm/trace.h | 8 +-
include/asm-generic/sections.h | 1 +
include/asm-generic/vmlinux.lds.h | 6 +
include/linux/cgroup.h | 4 +-
include/linux/cgroup_subsys.h | 4 +
include/linux/ftrace.h | 2 +
include/linux/ftrace_event.h | 2 -
include/linux/perf_event.h | 50 +-
include/linux/ring_buffer.h | 2 +
include/linux/sched.h | 7 -
include/linux/syscalls.h | 10 +-
include/trace/events/mce.h | 8 +-
include/trace/events/module.h | 5 +-
include/trace/events/skb.h | 4 +-
init/Kconfig | 10 +
kernel/cgroup.c | 54 +-
kernel/perf_event.c | 1004 ++++++++++++++++---
kernel/sched.c | 37 +-
kernel/sysctl.c | 2 +-
kernel/trace/ftrace.c | 52 +-
kernel/trace/ring_buffer.c | 24 +-
kernel/trace/trace.c | 38 +-
kernel/trace/trace.h | 41 +-
kernel/trace/trace_entries.h | 6 +-
kernel/trace/trace_events.c | 2 +-
kernel/trace/trace_events_filter.c | 885 ++++++++++++++---
kernel/trace/trace_kprobe.c | 111 ++-
kernel/trace/trace_output.c | 36 +-
kernel/trace/trace_sched_switch.c | 48 -
kernel/trace/trace_syscalls.c | 42 +-
scripts/kconfig/streamline_config.pl | 2 +-
scripts/recordmcount.c | 3 +-
scripts/recordmcount.pl | 1 +
tools/perf/.gitignore | 1 -
tools/perf/Documentation/Makefile | 19 +-
tools/perf/Documentation/perf-list.txt | 23 +-
tools/perf/Documentation/perf-lock.txt | 12 +-
tools/perf/Documentation/perf-probe.txt | 26 +-
tools/perf/Documentation/perf-record.txt | 11 +
tools/perf/Documentation/perf-stat.txt | 11 +
tools/perf/Makefile | 649 ++-----------
tools/perf/bench/sched-pipe.c | 2 +-
tools/perf/builtin-annotate.c | 351 ++-----
tools/perf/builtin-diff.c | 16 +-
tools/perf/builtin-inject.c | 82 +-
tools/perf/builtin-kmem.c | 10 +-
tools/perf/builtin-list.c | 43 +-
tools/perf/builtin-lock.c | 8 +-
tools/perf/builtin-probe.c | 70 ++-
tools/perf/builtin-record.c | 450 ++++------
tools/perf/builtin-report.c | 225 ++---
tools/perf/builtin-sched.c | 27 +-
tools/perf/builtin-script.c | 17 +-
tools/perf/builtin-stat.c | 118 ++-
tools/perf/builtin-test.c | 184 ++++-
tools/perf/builtin-timechart.c | 13 +-
tools/perf/builtin-top.c | 1029 ++++++--------------
tools/perf/perf.h | 26 +
tools/perf/python/twatch.py | 41 +
tools/perf/util/annotate.c | 605 ++++++++++++
tools/perf/util/annotate.h | 103 ++
tools/perf/util/build-id.c | 21 +-
tools/perf/util/cache.h | 7 +-
tools/perf/util/callchain.c | 227 +++---
tools/perf/util/callchain.h | 76 ++-
tools/perf/util/cgroup.c | 178 ++++
tools/perf/util/cgroup.h | 17 +
tools/perf/util/cpumap.c | 5 +
tools/perf/util/cpumap.h | 2 +-
tools/perf/util/debug.c | 2 +-
tools/perf/util/debug.h | 2 +-
tools/perf/util/event.c | 374 ++-----
tools/perf/util/event.h | 78 +-
tools/perf/util/evlist.c | 394 ++++++++
tools/perf/util/evlist.h | 68 ++
tools/perf/util/evsel.c | 234 ++++-
tools/perf/util/evsel.h | 47 +-
tools/perf/util/exec_cmd.c | 19 -
tools/perf/util/header.c | 535 +++++------
tools/perf/util/header.h | 95 +--
tools/perf/util/hist.c | 250 +-----
tools/perf/util/hist.h | 60 +-
tools/perf/util/include/linux/list.h | 1 +
tools/perf/util/parse-events.c | 175 ++--
tools/perf/util/parse-events.h | 12 +-
tools/perf/util/probe-event.c | 159 +++-
tools/perf/util/probe-event.h | 4 +-
tools/perf/util/probe-finder.c | 531 ++++++-----
tools/perf/util/python.c | 896 +++++++++++++++++
.../util/scripting-engines/trace-event-python.c | 3 +-
tools/perf/util/session.c | 266 +++---
tools/perf/util/session.h | 41 +-
tools/perf/util/setup.py | 19 +
tools/perf/util/strfilter.c | 199 ++++
tools/perf/util/strfilter.h | 48 +
tools/perf/util/symbol.c | 7 +-
tools/perf/util/symbol.h | 1 -
tools/perf/util/thread.c | 55 -
tools/perf/util/thread.h | 14 -
tools/perf/util/thread_map.c | 64 ++
tools/perf/util/thread_map.h | 15 +
tools/perf/util/top.c | 238 +++++
tools/perf/util/top.h | 66 ++
tools/perf/util/trace-event-parse.c | 2 +-
tools/perf/util/ui/browser.c | 25 +-
tools/perf/util/ui/browser.h | 3 +-
tools/perf/util/ui/browsers/annotate.c | 178 +++--
tools/perf/util/ui/browsers/hists.c | 197 +++-
tools/perf/util/ui/browsers/map.c | 2 +-
tools/perf/util/ui/browsers/top.c | 213 ++++
tools/perf/util/ui/helpline.c | 5 +-
tools/perf/util/ui/libslang.h | 6 +-
tools/perf/util/ui/setup.c | 8 +-
tools/perf/util/ui/ui.h | 8 +
tools/perf/util/ui/util.c | 7 +-
tools/perf/util/util.h | 26 -
tools/testing/ktest/ktest.pl | 2 +-
140 files changed, 9295 insertions(+), 4713 deletions(-)
create mode 100755 tools/perf/python/twatch.py
create mode 100644 tools/perf/util/annotate.c
create mode 100644 tools/perf/util/annotate.h
create mode 100644 tools/perf/util/cgroup.c
create mode 100644 tools/perf/util/cgroup.h
create mode 100644 tools/perf/util/evlist.c
create mode 100644 tools/perf/util/evlist.h
create mode 100644 tools/perf/util/python.c
create mode 100644 tools/perf/util/setup.py
create mode 100644 tools/perf/util/strfilter.c
create mode 100644 tools/perf/util/strfilter.h
create mode 100644 tools/perf/util/thread_map.c
create mode 100644 tools/perf/util/thread_map.h
create mode 100644 tools/perf/util/top.c
create mode 100644 tools/perf/util/top.h
create mode 100644 tools/perf/util/ui/browsers/top.c
create mode 100644 tools/perf/util/ui/ui.h
[ ... 650K patch file omitted ... ]
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/