aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIngo Molnar <mingo@kernel.org>2013-01-25 05:33:41 -0500
committerIngo Molnar <mingo@kernel.org>2013-01-25 05:34:00 -0500
commita2d28d0c198b65fac28ea6212f5f8edc77b29c27 (patch)
tree130c1b4464f1eb685e56ff2ce122e3e36bb52e88
parent203e04c16330c880538588e932743f404ee4fd66 (diff)
parent2ae828786c65ab8f587647bd0f22f8fe00f1f238 (diff)
Merge tag 'perf-core-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core
Pull perf/core improvements and fixes from Arnaldo Carvalho de Melo: . Allow skipping problematic entries in 'perf test'. . Fix some namespace problems in the event parsing routines. . Add 'perf test' entry to make sure the python binding doesn't have linking problems. . Adjust 'perf test' attr tests verbosity levels. . Make tools/perf build with GNU make v3.80, fix from Al Cooper. . Do missing feature fallbacks in just one place, removing duplicated code in multiple tools. . Fix some memory leaks, from David Ahern. . Fix segfault when drawing out-of-bounds jumps, from Frederik Deweerdt. . Allow of casting an array of char to string in 'perf probe', from Hyeoncheol Lee. . Add support for wildcard in tracepoint system name, from Jiri Olsa. . Update FSF postal address to be URL's, from Jon Stanley. . Add anonymous huge page recognition, from Joshua Zhu. . Remove some needless feature test checks, from Namhyung Kim. . Multiple improvements to the sort routines, from Namhyung Kim. . Fix warning on '>=' operator in libtraceevent, from Namhyung Kim. . Use ARRAY_SIZE instead of reinventing it in 'perf script' and 'perf kmem', from Sasha Levin. . Remove some redundant checks, from Sasha Levin. . Test correct variable after allocation in libtraceevent, fix from Sasha Levin. . Mark branch_info maps as referenced, fix from Stephane Eranian. . Fix PMU format parsing test failure, from Sukadev Bhattiprolu. . Fix possible (unlikely) buffer overflow, from Thomas Jarosch. . Multiple 'perf script' fixes, from Tom Zanussi. . Add missing field in PERF_RECORD_SAMPLE documentation, from Vince Weaver. Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> Signed-off-by: Ingo Molnar <mingo@kernel.org>
-rw-r--r--include/uapi/linux/perf_event.h3
-rw-r--r--kernel/events/uprobes.c3
-rw-r--r--tools/lib/traceevent/event-parse.c10
-rw-r--r--tools/lib/traceevent/event-parse.h3
-rw-r--r--tools/lib/traceevent/event-utils.h3
-rw-r--r--tools/lib/traceevent/parse-filter.c3
-rw-r--r--tools/lib/traceevent/parse-utils.c19
-rw-r--r--tools/lib/traceevent/trace-seq.c3
-rw-r--r--tools/perf/Documentation/perf-report.txt38
-rw-r--r--tools/perf/Documentation/perf-script-python.txt2
-rw-r--r--tools/perf/Documentation/perf-test.txt4
-rw-r--r--tools/perf/Makefile17
-rw-r--r--tools/perf/builtin-bench.c2
-rw-r--r--tools/perf/builtin-diff.c92
-rw-r--r--tools/perf/builtin-kmem.c10
-rw-r--r--tools/perf/builtin-kvm.c3
-rw-r--r--tools/perf/builtin-record.c127
-rw-r--r--tools/perf/builtin-report.c6
-rw-r--r--tools/perf/builtin-sched.c6
-rw-r--r--tools/perf/builtin-script.c17
-rw-r--r--tools/perf/builtin-stat.c46
-rw-r--r--tools/perf/builtin-top.c106
-rw-r--r--tools/perf/config/utilities.mak6
-rw-r--r--tools/perf/perf.c32
-rw-r--r--tools/perf/perf.h6
-rw-r--r--tools/perf/scripts/perl/bin/workqueue-stats-record2
-rw-r--r--tools/perf/scripts/perl/bin/workqueue-stats-report3
-rw-r--r--tools/perf/scripts/perl/workqueue-stats.pl129
-rw-r--r--tools/perf/tests/attr.c4
-rw-r--r--tools/perf/tests/attr.py27
-rw-r--r--tools/perf/tests/attr/test-record-group12
-rw-r--r--tools/perf/tests/builtin-test.c40
-rw-r--r--tools/perf/tests/evsel-roundtrip-name.c4
-rw-r--r--tools/perf/tests/hists_link.c499
-rw-r--r--tools/perf/tests/parse-events.c98
-rw-r--r--tools/perf/tests/pmu.c11
-rw-r--r--tools/perf/tests/python-use.c23
-rw-r--r--tools/perf/tests/tests.h8
-rw-r--r--tools/perf/tests/vmlinux-kallsyms.c3
-rw-r--r--tools/perf/ui/browser.c4
-rw-r--r--tools/perf/ui/browsers/annotate.c33
-rw-r--r--tools/perf/ui/gtk/browser.c227
-rw-r--r--tools/perf/ui/gtk/gtk.h9
-rw-r--r--tools/perf/ui/gtk/hists.c226
-rw-r--r--tools/perf/ui/stdio/hist.c6
-rw-r--r--tools/perf/ui/util.c11
-rwxr-xr-xtools/perf/util/PERF-VERSION-GEN4
-rw-r--r--tools/perf/util/debug.h1
-rw-r--r--tools/perf/util/evsel.c108
-rw-r--r--tools/perf/util/evsel.h6
-rw-r--r--tools/perf/util/header.c75
-rw-r--r--tools/perf/util/hist.c79
-rw-r--r--tools/perf/util/hist.h4
-rw-r--r--tools/perf/util/include/linux/bitops.h1
-rw-r--r--tools/perf/util/intlist.c36
-rw-r--r--tools/perf/util/intlist.h2
-rw-r--r--tools/perf/util/machine.c64
-rw-r--r--tools/perf/util/machine.h32
-rw-r--r--tools/perf/util/map.c3
-rw-r--r--tools/perf/util/parse-events.c87
-rw-r--r--tools/perf/util/parse-events.h21
-rw-r--r--tools/perf/util/parse-events.y64
-rw-r--r--tools/perf/util/pmu.c46
-rw-r--r--tools/perf/util/pmu.h15
-rw-r--r--tools/perf/util/probe-finder.c10
-rw-r--r--tools/perf/util/python.c9
-rw-r--r--tools/perf/util/scripting-engines/trace-event-perl.c1
-rw-r--r--tools/perf/util/scripting-engines/trace-event-python.c1
-rw-r--r--tools/perf/util/session.c75
-rw-r--r--tools/perf/util/session.h30
-rw-r--r--tools/perf/util/sort.c230
-rw-r--r--tools/perf/util/sort.h8
-rw-r--r--tools/perf/util/string.c18
-rw-r--r--tools/perf/util/symbol-elf.c3
-rw-r--r--tools/perf/util/symbol-minimal.c1
-rw-r--r--tools/perf/util/symbol.c14
-rw-r--r--tools/perf/util/symbol.h2
-rw-r--r--tools/perf/util/sysfs.c2
-rw-r--r--tools/perf/util/top.h2
-rw-r--r--tools/perf/util/util.c24
-rw-r--r--tools/perf/util/util.h4
81 files changed, 1816 insertions, 1202 deletions
diff --git a/include/uapi/linux/perf_event.h b/include/uapi/linux/perf_event.h
index 4f63c05d27c9..9fa9c622a7f4 100644
--- a/include/uapi/linux/perf_event.h
+++ b/include/uapi/linux/perf_event.h
@@ -579,7 +579,8 @@ enum perf_event_type {
579 * { u32 size; 579 * { u32 size;
580 * char data[size];}&& PERF_SAMPLE_RAW 580 * char data[size];}&& PERF_SAMPLE_RAW
581 * 581 *
582 * { u64 from, to, flags } lbr[nr];} && PERF_SAMPLE_BRANCH_STACK 582 * { u64 nr;
583 * { u64 from, to, flags } lbr[nr];} && PERF_SAMPLE_BRANCH_STACK
583 * 584 *
584 * { u64 abi; # enum perf_sample_regs_abi 585 * { u64 abi; # enum perf_sample_regs_abi
585 * u64 regs[weight(mask)]; } && PERF_SAMPLE_REGS_USER 586 * u64 regs[weight(mask)]; } && PERF_SAMPLE_REGS_USER
diff --git a/kernel/events/uprobes.c b/kernel/events/uprobes.c
index dea7acfbb071..30ea9a4f4ab4 100644
--- a/kernel/events/uprobes.c
+++ b/kernel/events/uprobes.c
@@ -901,8 +901,7 @@ void uprobe_unregister(struct inode *inode, loff_t offset, struct uprobe_consume
901 } 901 }
902 902
903 mutex_unlock(uprobes_hash(inode)); 903 mutex_unlock(uprobes_hash(inode));
904 if (uprobe) 904 put_uprobe(uprobe);
905 put_uprobe(uprobe);
906} 905}
907 906
908static struct rb_node * 907static struct rb_node *
diff --git a/tools/lib/traceevent/event-parse.c b/tools/lib/traceevent/event-parse.c
index 5a824e355d04..bb8b3db0e583 100644
--- a/tools/lib/traceevent/event-parse.c
+++ b/tools/lib/traceevent/event-parse.c
@@ -13,8 +13,7 @@
13 * GNU Lesser General Public License for more details. 13 * GNU Lesser General Public License for more details.
14 * 14 *
15 * You should have received a copy of the GNU Lesser General Public 15 * You should have received a copy of the GNU Lesser General Public
16 * License along with this program; if not, write to the Free Software 16 * License along with this program; if not, see <http://www.gnu.org/licenses>
17 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
18 * 17 *
19 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 18 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
20 * 19 *
@@ -1463,7 +1462,8 @@ static int event_read_fields(struct event_format *event, struct format_field **f
1463 if (read_expect_type(EVENT_ITEM, &token)) 1462 if (read_expect_type(EVENT_ITEM, &token))
1464 goto fail; 1463 goto fail;
1465 1464
1466 /* add signed type */ 1465 if (strtoul(token, NULL, 0))
1466 field->flags |= FIELD_IS_SIGNED;
1467 1467
1468 free_token(token);