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>