Patches contributed by Eötvös Lorand University
commit 6eadf1075c6f923fece419e38cf05bff559aefcd
Merge: a1c611745c8c c10076c43040
Author: Ingo Molnar <mingo@elte.hu>
Date: Tue Jan 17 09:51:46 2012 +0100
Merge branch 'tip/perf/urgent-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace into perf/urgent
commit b64b223aed5f8aeeb6c046f1b050a8f976b87de0
Merge: 5d53cb27d849 4410030646be
Author: Ingo Molnar <mingo@elte.hu>
Date: Tue Jan 17 09:44:17 2012 +0100
Merge branch 'rcu/urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu into core/urgent
commit b9f616bbf4a917398aa09db89efbdf9a204e80dc
Merge: 636f0c70f255 cc5a91e97221
Author: Ingo Molnar <mingo@elte.hu>
Date: Sun Jan 8 12:36:18 2012 +0100
Merge branch 'perf/core' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core
commit 636f0c70f2557e0819b50c74e31b4a027327015e
Merge: 675eef66e3ed 2e885057b7f7
Author: Ingo Molnar <mingo@elte.hu>
Date: Sun Jan 8 12:31:24 2012 +0100
Merge branch 'tip/perf/urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace into perf/core
diff --cc arch/s390/oprofile/init.c
index 6cf2286d0405,bd58b72454cf..2297be406c61
--- a/arch/s390/oprofile/init.c
+++ b/arch/s390/oprofile/init.c
@@@ -123,12 -88,9 +123,12 @@@ static ssize_t hwsampler_write(struct f
return -EINVAL;
retval = oprofilefs_ulong_from_user(&val, buf, count);
- if (retval)
+ if (retval <= 0)
return retval;
+ if (val != 0 && val != 1)
+ return -EINVAL;
+
if (oprofile_started)
/*
* save to do without locking as we set
commit 675eef66e3edcab8065533edfefbcbbacb9a30d3
Merge: 03f70388c39c 96de37b62ca5
Author: Ingo Molnar <mingo@elte.hu>
Date: Sun Jan 8 09:51:24 2012 +0100
Merge branch 'tip/perf/core' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace into perf/core
commit 03f70388c39cef5dfdc70ce5473ec31577a18e6b
Merge: 9e183426bfb5 42181186ad4d
Author: Ingo Molnar <mingo@elte.hu>
Date: Sat Jan 7 13:25:49 2012 +0100
Merge branch 'tip/x86/core-3' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace into perf/core
commit adaf4ed2abbd285c93808060924eeec3af483aee
Merge: ca3d30cc02f7 5f0a6e2d5038
Author: Ingo Molnar <mingo@elte.hu>
Date: Wed Jan 4 15:00:43 2012 +0100
Merge commit 'v3.2-rc7' into x86/asm
Merge reason: Update from -rc4 to -rc7.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
commit f2328062726d36e562f1458d6346b77aa048acad
Author: Ingo Molnar <mingo@elte.hu>
Date: Thu Dec 29 21:26:17 2011 +0100
perf tools: Fix feature-bits rework fallout, remove unused variable
Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Stephane Eranian <eranian@google.com>
Cc: Robert Richter <robert.richter@amd.com>
Link: http://lkml.kernel.org/n/tip-lfckuwbl8m1ykb7t9ydsxe4r@git.kernel.org
Signed-off-by: Ingo Molnar <mingo@elte.hu>
diff --git a/tools/perf/util/header.c b/tools/perf/util/header.c
index e509a9dea00b..3e7e0b09c12c 100644
--- a/tools/perf/util/header.c
+++ b/tools/perf/util/header.c
@@ -1415,15 +1415,12 @@ static int perf_header__adds_write(struct perf_header *header,
struct perf_evlist *evlist, int fd)
{
int nr_sections;
- struct perf_session *session;
struct perf_file_section *feat_sec, *p;
int sec_size;
u64 sec_start;
int feat;
int err;
- session = container_of(header, struct perf_session, header);
-
nr_sections = bitmap_weight(header->adds_features, HEADER_FEAT_BITS);
if (!nr_sections)
return 0;
commit f41612f43be9575e1160460b08c3a760e6e27e1b
Author: Ingo Molnar <mingo@elte.hu>
Date: Fri Dec 23 14:08:04 2011 +0100
perf tools: Fix truncated annotation
I get such truncated annotation results in 'perf top':
: Disassembly of section .text: ▒
: ▒
: ffffffff810966a8 <nr_iowait_cpu>: ▒
4.94 : ffffffff810966a8: movslq %edi,%rdi ▒
3.70 : ffffffff810966ab: mov $0x13700,%rax ▒
0.00 : ffffffff810966b2: add -0x7e32cb00(,%rdi,8),%rax ▒
8.64 : ffffffff810966ba: mov 0x7e0(%rax),%eax ▒
82.72 : ffffffff810966c0: cltq ▒
Note the missing 'retq' which is there in the original function:
ffffffff810966a8 <nr_iowait_cpu>:
ffffffff810966a8: 48 63 ff movslq %edi,%rdi
ffffffff810966ab: 48 c7 c0 00 37 01 00 mov $0x13700,%rax
ffffffff810966b2: 48 03 04 fd 00 35 cd add -0x7e32cb00(,%rdi,8),%rax
ffffffff810966b9: 81
ffffffff810966ba: 8b 80 e0 07 00 00 mov 0x7e0(%rax),%eax
ffffffff810966c0: 48 98 cltq
ffffffff810966c2: c3 retq
ffffffff810966c3 <this_cpu_load>:
I'm using a fairly recent binutils:
GNU objdump version 2.21.51.0.6-2.fc16 20110118
AFAICS the bug is simply that sym->end points to the last byte
of the symbol in question - while objdump's --stop-address
expects the last byte plus 1 to disassemble the full range.
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Link: http://lkml.kernel.org/r/20111223130804.GA24305@elte.hu
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
diff --git a/tools/perf/util/annotate.c b/tools/perf/util/annotate.c
index 376e643f7066..011ed2676604 100644
--- a/tools/perf/util/annotate.c
+++ b/tools/perf/util/annotate.c
@@ -334,7 +334,7 @@ int symbol__annotate(struct symbol *sym, struct map *map, size_t privsize)
disassembler_style ? "-M " : "",
disassembler_style ? disassembler_style : "",
map__rip_2objdump(map, sym->start),
- map__rip_2objdump(map, sym->end),
+ map__rip_2objdump(map, sym->end+1),
symbol_conf.annotate_asm_raw ? "" : "--no-show-raw",
symbol_conf.annotate_src ? "-S" : "",
symfs_filename, filename);
commit 2d2b7749e8f9d32c16c599f85f2b1a51b76dddb7
Merge: 9ec84acee1e2 384703b8e6cd
Author: Ingo Molnar <mingo@elte.hu>
Date: Wed Dec 21 10:06:32 2011 +0100
Merge commit 'v3.2-rc6' into core/locking
Merge reason: Pick up the latest fixes.
Signed-off-by: Ingo Molnar <mingo@elte.hu>