1. 13 Jan, 2010 40 commits
    • Kirill Smelkov's avatar
      perf top: Fix code typo in prompt_symbol() · 66aeb6d5
      Kirill Smelkov authored
      sym_filter is what was (if ever) passed with -s option. What was
      typed by user, and what we were looking for, is in buf.
      Signed-off-by: default avatarKirill Smelkov <kirr@landau.phys.spbu.ru>
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      LKML-Reference: <1263396139-4798-3-git-send-email-acme@infradead.org>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      66aeb6d5
    • Kirill Smelkov's avatar
      perf: Fix few typos + cosmetics · 0895cf0a
      Kirill Smelkov authored
      Signed-off-by: default avatarKirill Smelkov <kirr@landau.phys.spbu.ru>
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      LKML-Reference: <1263396139-4798-2-git-send-email-acme@infradead.org>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      0895cf0a
    • Arnaldo Carvalho de Melo's avatar
      perf tools: Encode kernel module mappings in perf.data · b7cece76
      Arnaldo Carvalho de Melo authored
      We were always looking at the running machine /proc/modules,
      even when processing a perf.data file, which only makes sense
      when we're doing 'perf record' and 'perf report' on the same
      machine, and in close sucession, or if we don't use modules at
      all, right Peter? ;-)
      
      Now, at 'perf record' time we read /proc/modules, find the long
      path for modules, and put them as PERF_MMAP events, just like we
      did to encode the reloc reference symbol for vmlinux. Talking
      about that now it is encoded in .pgoff, so that we can use
      .{start,len} to store the address boundaries for the kernel so
      that when we reconstruct the kmaps tree we can do lookups right
      away, without having to fixup the end of the kernel maps like we
      did in the past (and now only in perf record).
      
      One more step in the 'perf archive' direction when we'll finally
      be able to collect data in one machine and analyse in another.
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Frédéric Weisbecker <fweisbec@gmail.com>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Paul Mackerras <paulus@samba.org>
      LKML-Reference: <1263396139-4798-1-git-send-email-acme@infradead.org>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      b7cece76
    • Wenji Huang's avatar
      perf: Make cmd_to_page() function more compact · ff314d39
      Wenji Huang authored
      Remove branch for is_perf_command.
      Signed-off-by: default avatarWenji Huang <wenji.huang@oracle.com>
      Cc: fweisbec@gmail.com
      Cc: jkacur@redhat.com
      Cc: acme@redhat.com
      LKML-Reference: <1263373298-13282-1-git-send-email-wenji.huang@oracle.com>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      ff314d39
    • Jamie Iles's avatar
      sched/perf: Make sure irqs are disabled for perf_event_task_sched_in() · 8381f65d
      Jamie Iles authored
      perf_event_task_sched_in() expects interrupts to be disabled,
      but on architectures with __ARCH_WANT_INTERRUPTS_ON_CTXSW
      defined, this isn't true. If this is defined, disable irqs
      around the call in finish_task_switch().
      Signed-off-by: default avatarJamie Iles <jamie.iles@picochip.com>
      Acked-by: default avatarPeter Zijlstra <peterz@infradead.org>
      Cc: Russell King - ARM Linux <linux@arm.linux.org.uk>
      LKML-Reference: <1262964453-27370-1-git-send-email-jamie.iles@picochip.com>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      8381f65d
    • Arnaldo Carvalho de Melo's avatar
      perf tools: Create typedef for common event synthesizing callback · cf553114
      Arnaldo Carvalho de Melo authored
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Frédéric Weisbecker <fweisbec@gmail.com>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Paul Mackerras <paulus@samba.org>
      LKML-Reference: <1262901583-8074-3-git-send-email-acme@infradead.org>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      cf553114
    • Arnaldo Carvalho de Melo's avatar
      perf symbols: Record the domain of DSOs in HEADER_BUILD_ID header table · a89e5abe
      Arnaldo Carvalho de Melo authored
      So that we can restore them to the right DSO list (either
      dsos__kernel or dsos__user).
      
      We do that just like the kernel does for the other events,
      encoding PERF_RECORD_MISC_{KERNEL,USER} in perf_event_header.
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Frédéric Weisbecker <fweisbec@gmail.com>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Paul Mackerras <paulus@samba.org>
      LKML-Reference: <1262901583-8074-2-git-send-email-acme@infradead.org>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      a89e5abe
    • Arnaldo Carvalho de Melo's avatar
      perf buildid-list: No need to process the header sections again · fed5af61
      Arnaldo Carvalho de Melo authored
      As it is already processed by:
      
      	perf_session__new
      		perf_session__open
      			perf_session__read
      
      This was harmless, because we use dsos__findnew, that would
      already find it, but is unnecessary work and removing it makes
      builtin-buildid-list.c even shorter.
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Frédéric Weisbecker <fweisbec@gmail.com>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Paul Mackerras <paulus@samba.org>
      LKML-Reference: <1262901583-8074-1-git-send-email-acme@infradead.org>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      fed5af61
    • Alexander Beregalov's avatar
      perf: Fix memory leak: counterwidth · 8d9e5039
      Alexander Beregalov authored
      Signed-off-by: default avatarAlexander Beregalov <a.beregalov@gmail.com>
      Cc: a.p.zijlstra@chello.nl
      Cc: paulus@samba.org
      LKML-Reference: <1262882447-23776-2-git-send-email-a.beregalov@gmail.com>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      8d9e5039
    • Masami Hiramatsu's avatar
      perf probe: Support --line option to show probable source-code lines · 631c9def
      Masami Hiramatsu authored
      Add --line option to support showing probable source-code lines.
      
        perf probe --line SRC:LN[-LN|+NUM]
         or
        perf probe --line FUNC[:LN[-LN|+NUM]]
      
      This option shows source-code with line number if the line can
      be probed. Lines without line number (and blue color) means that
      the line can not be probed, because debuginfo doesn't have the
      information of those lines.
      
      The argument specifies the range of lines, "source.c:100-120"
      shows lines between 100th to l20th in source.c file. And
      "func:10+20" shows 20 lines from 10th line of func function.
      
      e.g.
       # ./perf probe --line kernel/sched.c:1080
       <kernel/sched.c:1080>
                *
                * called with rq->lock held and irqs disabled
                */
               static void hrtick_start(struct rq *rq, u64 delay)
               {
                      struct hrtimer *timer = &rq->hrtick_timer;
         1086         ktime_t time = ktime_add_ns(timer->base->get_time(), delay);
      
                      hrtimer_set_expires(timer, time);
      
         1090         if (rq == this_rq()) {
         1091                 hrtimer_restart(timer);
         1092         } else if (!rq->hrtick_csd_pending) {
         1093                 __smp_call_function_single(cpu_of(rq), &rq->hrtick_csd,
         1094                 rq->hrtick_csd_pending = 1;
      
      If you specifying function name, this shows function-relative
      line number.
      
       # ./perf probe --line schedule
       <schedule:0>
               asmlinkage void __sched schedule(void)
            1  {
                      struct task_struct *prev, *next;
                      unsigned long *switch_count;
                      struct rq *rq;
                      int cpu;
      
               need_resched:
                      preempt_disable();
            9         cpu = smp_processor_id();
           10         rq = cpu_rq(cpu);
           11         rcu_sched_qs(cpu);
           12         prev = rq->curr;
           13         switch_count = &prev->nivcsw;
      Signed-off-by: default avatarMasami Hiramatsu <mhiramat@redhat.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
      Cc: systemtap <systemtap@sources.redhat.com>
      Cc: DLE <dle-develop@lists.sourceforge.net>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Mike Galbraith <efault@gmx.de>
      LKML-Reference: <20100106144534.27218.77939.stgit@dhcp-100-2-132.bos.redhat.com>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      631c9def
    • Masami Hiramatsu's avatar
      perf tools: Enhance glob string matching · 6964cd2c
      Masami Hiramatsu authored
      Enhance strglobmatch() for supporting character classes([CHARS],
      complementation and ranges are also supported) and escaped
      special characters (\*, \? etc).
      Signed-off-by: default avatarMasami Hiramatsu <mhiramat@redhat.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
      Cc: systemtap <systemtap@sources.redhat.com>
      Cc: DLE <dle-develop@lists.sourceforge.net>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Mike Galbraith <efault@gmx.de>
      LKML-Reference: <20100105224724.19431.56271.stgit@dhcp-100-2-132.bos.redhat.com>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      6964cd2c
    • Masami Hiramatsu's avatar
      perf tools: Support tracepoint glob matching · fb1d2edf
      Masami Hiramatsu authored
      Support glob wildcard when selecting tracepoint events by -e
      option. Without this patch, perf-tools supports 'GROUP:*:record'
      syntax for selecting all tracepoints under GROUP group.
      
      With this patch, user can choose tracepoints more flexibly by using
      partial wildcards, e.g. 'block:*bio*:record'.
      Signed-off-by: default avatarMasami Hiramatsu <mhiramat@redhat.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
      Cc: systemtap <systemtap@sources.redhat.com>
      Cc: DLE <dle-develop@lists.sourceforge.net>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Mike Galbraith <efault@gmx.de>
      LKML-Reference: <20100105224717.19431.68972.stgit@dhcp-100-2-132.bos.redhat.com>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      fb1d2edf
    • Masami Hiramatsu's avatar
      perf probe: Show probe list in pager · 72041334
      Masami Hiramatsu authored
      Show probe list in pager, because the list can be longer than
      a page.
      Signed-off-by: default avatarMasami Hiramatsu <mhiramat@redhat.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
      Cc: systemtap <systemtap@sources.redhat.com>
      Cc: DLE <dle-develop@lists.sourceforge.net>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Mike Galbraith <efault@gmx.de>
      LKML-Reference: <20100105224710.19431.61542.stgit@dhcp-100-2-132.bos.redhat.com>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      72041334
    • Masami Hiramatsu's avatar
      perf probe: Remove newline from die() · bbaa46fa
      Masami Hiramatsu authored
      Remove newline from die(), because it is automatically added.
      Signed-off-by: default avatarMasami Hiramatsu <mhiramat@redhat.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
      Cc: systemtap <systemtap@sources.redhat.com>
      Cc: DLE <dle-develop@lists.sourceforge.net>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Mike Galbraith <efault@gmx.de>
      LKML-Reference: <20100105224703.19431.42475.stgit@dhcp-100-2-132.bos.redhat.com>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      bbaa46fa
    • Masami Hiramatsu's avatar
      x86/ptrace: Remove unused regs_get_argument_nth API · aa5add93
      Masami Hiramatsu authored
      Because of dropping function argument syntax from kprobe-tracer,
      we don't need this API anymore.
      Signed-off-by: default avatarMasami Hiramatsu <mhiramat@redhat.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
      Cc: systemtap <systemtap@sources.redhat.com>
      Cc: DLE <dle-develop@lists.sourceforge.net>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Roland McGrath <roland@redhat.com>
      Cc: Oleg Nesterov <oleg@redhat.com>
      Cc: Mahesh Salgaonkar <mahesh@linux.vnet.ibm.com>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Michael Neuling <mikey@neuling.org>
      Cc: Steven Rostedt <rostedt@goodmis.org>
      Cc: linuxppc-dev@ozlabs.org
      LKML-Reference: <20100105224656.19431.92588.stgit@dhcp-100-2-132.bos.redhat.com>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      aa5add93
    • Masami Hiramatsu's avatar
      tracing/kprobe: Drop function argument access syntax · 14640106
      Masami Hiramatsu authored
      Drop function argument access syntax, because the function
      arguments depend on not only architecture but also
      compile-options and function API. And now, we have perf-probe
      for finding register/memory assigned to each argument.
      Signed-off-by: default avatarMasami Hiramatsu <mhiramat@redhat.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
      Cc: systemtap <systemtap@sources.redhat.com>
      Cc: DLE <dle-develop@lists.sourceforge.net>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Steven Rostedt <rostedt@goodmis.org>
      Cc: Roland McGrath <roland@redhat.com>
      Cc: Oleg Nesterov <oleg@redhat.com>
      Cc: Mahesh Salgaonkar <mahesh@linux.vnet.ibm.com>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Michael Neuling <mikey@neuling.org>
      Cc: linuxppc-dev@ozlabs.org
      LKML-Reference: <20100105224648.19431.52309.stgit@dhcp-100-2-132.bos.redhat.com>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      14640106
    • Masami Hiramatsu's avatar
      tracing/kprobe: Update example output in documentation · ec3a9039
      Masami Hiramatsu authored
      Update example output in documentation according to current
      implementation.
      Signed-off-by: default avatarMasami Hiramatsu <mhiramat@redhat.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
      Cc: systemtap <systemtap@sources.redhat.com>
      Cc: DLE <dle-develop@lists.sourceforge.net>
      Cc: Steven Rostedt <rostedt@goodmis.org>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      LKML-Reference: <20100105224641.19431.34967.stgit@dhcp-100-2-132.bos.redhat.com>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      ec3a9039
    • Arnaldo Carvalho de Melo's avatar
      perf tools: Handle relocatable kernels · 56b03f3c
      Arnaldo Carvalho de Melo authored
      DSOs don't have this problem because the kernel emits a
      PERF_MMAP for each new executable mapping it performs on
      monitored threads.
      
      To fix the kernel case we simulate the same behaviour, by having
      'perf record' to synthesize a PERF_MMAP for the kernel, encoded
      like this:
      
      [root@doppio ~]# perf record -a -f sleep 1
      [ perf record: Woken up 1 times to write data ]
      [ perf record: Captured and wrote 0.344 MB perf.data (~15038 samples) ]
      [root@doppio ~]# perf report -D | head -10
      
      0xd0 [0x40]: event: 1
      .
      . ... raw event: size 64 bytes
      .  0000:  01 00 00 00 00 00 40 00 00 00 00 00 00 00 00 00 ......@........
      .  0010:  00 00 00 81 ff ff ff ff 00 00 00 00 00 00 00 00 ...............
      .  0020:  00 00 00 00 00 00 00 00 5b 6b 65 72 6e 65 6c 2e ........  [kernel
      .  0030:  6b 61 6c 6c 73 79 6d 73 2e 5f 74 65 78 74 5d 00  kallsyms._text]
      .  0xd0
      [0x40]: PERF_RECORD_MMAP 0/0: [0xffffffff81000000((nil)) @ (nil)]: [kernel.kallsyms._text]
      
      I.e. we identify such event as having:
      
       .pid      = 0
       .filename = [kernel.kallsyms.REFNAME]
       .start    = REFNAME addr in /proc/kallsyms at 'perf record' time
      
      and use now a hardcoded value of '.text' for REFNAME.
      
      Then, later, in 'perf report', if there are any kernel hits and
      thus we need to resolve kernel symbols, we search for REFNAME
      and if its address changed, relocation happened and we thus must
      change the kernel mapping routines to one that uses .pgoff as
      the relocation to apply.
      
      This way we use the same mechanism used for the other DSOs and
      don't have to do a two pass in all the kernel symbols.
      Reported-by: default avatarXiao Guangrong <xiaoguangrong@cn.fujitsu.com>
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Frédéric Weisbecker <fweisbec@gmail.com>
      Cc: "H. Peter Anvin" <hpa@zytor.com>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Xiao Guangrong <xiaoguangrong@cn.fujitsu.com>
      LKML-Reference: <1262717431-1246-1-git-send-email-acme@infradead.org>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      56b03f3c
    • Arnaldo Carvalho de Melo's avatar
      perf report: Fix --no-call-chain option handling · b9a63b9b
      Arnaldo Carvalho de Melo authored
      To avoid the funny:
      
       [root@doppio ~]# perf record -a -f sleep 2s
       [ perf record: Woken up 1 times to write data ]
       [ perf record: Captured and wrote 0.334 MB perf.data (~14572 samples) ]
       [root@doppio ~]# perf report --no-call-graph
       selected -g but no callchain data. Did you call perf record without -g?
      
      And fix the bug reported by peterz when we do indeed record with
      callchains and then ask for a report without:
      
      [root@doppio ~]# perf record -a -g -f sleep 2s
      [root@doppio ~]# perf report --no-call-graph
      Segmentation fault
      [root@doppio ~]#
      Reported-by: default avatarPeter Zijlstra <a.p.zijlstra@chello.nl>
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Frédéric Weisbecker <fweisbec@gmail.com>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Paul Mackerras <paulus@samba.org>
      LKML-Reference: <1262699685-27820-1-git-send-email-acme@infradead.org>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      b9a63b9b
    • Arnaldo Carvalho de Melo's avatar
      perf session: Keep pointers to the vmlinux maps · de176489
      Arnaldo Carvalho de Melo authored
      So that tools such as 'perf probe' don't have to lookup
      '[kernel.kallsyms]' but instead access them directly after
      perf_session__create_kernel_maps or
      map_groups__create_kernel_maps.
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Masami Hiramatsu <mhiramat@redhat.com>
      Cc: Frédéric Weisbecker <fweisbec@gmail.com>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Paul Mackerras <paulus@samba.org>
      LKML-Reference: <1262629169-22797-4-git-send-email-acme@infradead.org>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      de176489
    • Arnaldo Carvalho de Melo's avatar
      perf tools: Create write_padded routine out of __dsos__write_buildid_table · f92cb24c
      Arnaldo Carvalho de Melo authored
      Will be used by other options where padding is needed.
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Frédéric Weisbecker <fweisbec@gmail.com>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Paul Mackerras <paulus@samba.org>
      LKML-Reference: <1262629169-22797-3-git-send-email-acme@infradead.org>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      f92cb24c
    • Arnaldo Carvalho de Melo's avatar
      perf symbols: Export symbol_type__is_a · 36a3e646
      Arnaldo Carvalho de Melo authored
      Will be needed by the new HEADER_DSO_INFO feature that will be a
      HEADER_BUILD_ID superset, replacing it.
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Frédéric Weisbecker <fweisbec@gmail.com>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Paul Mackerras <paulus@samba.org>
      LKML-Reference: <1262629169-22797-2-git-send-email-acme@infradead.org>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      36a3e646
    • Arnaldo Carvalho de Melo's avatar
      perf symbols: Generalise the kallsyms parsing routine · 682b335a
      Arnaldo Carvalho de Melo authored
      Will be used to find an specific symbol by name on 'perf record'
      to support relocation reference symbols to support relocatable
      kernels.
      
      Still have to conver the perf trace tools to use it instead of
      their current reimplementation.
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Frédéric Weisbecker <fweisbec@gmail.com>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Paul Mackerras <paulus@samba.org>
      LKML-Reference: <1262629169-22797-1-git-send-email-acme@infradead.org>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      682b335a
    • Liming Wang's avatar
      perf tools: Fix --pid option for stat · 60666c63
      Liming Wang authored
      current pid option doesn't work for perf stat. Change it to what
      perf record --pid acts as.
      Signed-off-by: default avatarLiming Wang <liming.wang@windriver.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      LKML-Reference: <1262246750-2191-1-git-send-email-liming.wang@windriver.com>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      60666c63
    • Frederic Weisbecker's avatar
      perf: Drop useless check for ignored frame · 0fb8ee48
      Frederic Weisbecker authored
      The check that ignores the debug and nmi stack frames is useless
      now that we have a frame pointer that makes us start at the
      right place. We don't anymore have to deal with these.
      Signed-off-by: default avatarFrederic Weisbecker <fweisbec@gmail.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Paul Mackerras <paulus@samba.org>
      LKML-Reference: <1262235183-5320-2-git-send-regression-fweisbec@gmail.com>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      0fb8ee48
    • Ingo Molnar's avatar
      Merge branch 'perf/urgent' into perf/core · 61405fea
      Ingo Molnar authored
      Merge reason: queue up dependent patch, update to -rc4
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      61405fea
    • Arnaldo Carvalho de Melo's avatar
      perf tools: Check if /dev/null can be used as the -o gcc argument · 1703f2c3
      Arnaldo Carvalho de Melo authored
      At least on Debian PARISC64, using:
      
      acme@parisc:~/git/linux-2.6-tip$ gcc -v
      Using built-in specs.
      Target: hppa-linux-gnu
      Configured with: ../src/configure -v --with-pkgversion='Debian
      4.3.4-6' --with-bugurl=file:///usr/share/doc/gcc-4.3/README.Bugs
      --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr
      --enable-shared --enable-multiarch --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --enable-nls --with-gxx-include-dir=/usr/include/c++/4.3 --program-suffix=-4.3 --enable-clocale=gnu --enable-libstdcxx-debug --enable-objc-gc --enable-mpfr --disable-libssp --enable-checking=release --build=hppa-linux-gnu --host=hppa-linux-gnu --target=hppa-linux-gnu Thread model: posix gcc version 4.3.4 (Debian 4.3.4-6)
      
      there are issues about using 'gcc -o /dev/null':
      
      /usr/bin/ld: final link failed: File truncated
      collect2: ld returned 1 exit status
      
      So we test that and use /dev/null in environments where it
      works, while using an .INTERMEDIATE file on those where it can't
      be used, so that the .perf.dev.null file can be used instead and
      then deleted when make exits.
      
      Researched-with: Kyle McMartin <kyle@mcmartin.ca>
      Researched-with: Mauro Carvalho Chehab <mchehab@redhat.com>
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Frédéric Weisbecker <fweisbec@gmail.com>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Paul Mackerras <paulus@samba.org>
      LKML-Reference: <1263293910-8484-2-git-send-email-acme@infradead.org>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      1703f2c3
    • Arnaldo Carvalho de Melo's avatar
      perf tools: Move QUIET_STDERR def to before first use · 83039518
      Arnaldo Carvalho de Melo authored
      QUIET_STDERR is used when detecting if -fstack-protector-all can
      be used.
      
      Noticed while building the perf tools on a Debian PARISC64
      machine.
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Frédéric Weisbecker <fweisbec@gmail.com>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Paul Mackerras <paulus@samba.org>
      LKML-Reference: <1263293910-8484-1-git-send-email-acme@infradead.org>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      83039518
    • Frederic Weisbecker's avatar
      perf: Stop stack frame walking off kernel addresses boundaries · c2c5d45d
      Frederic Weisbecker authored
      While processing kernel perf callchains, an bad entry can be
      considered as a valid stack pointer but not as a kernel address.
      
      In this case, we hang in an endless loop. This can happen in an
      x86-32 kernel after processing the last entry in a kernel
      stacktrace.
      
      Just stop the stack frame walking after we encounter an invalid
      kernel address.
      
      This fixes a hard lockup in x86-32.
      Signed-off-by: default avatarFrederic Weisbecker <fweisbec@gmail.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Paul Mackerras <paulus@samba.org>
      LKML-Reference: <1262227945-27014-1-git-send-regression-fweisbec@gmail.com>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      c2c5d45d
    • Linus Torvalds's avatar
      Linux 2.6.33-rc4 · 7284ce6c
      Linus Torvalds authored
      7284ce6c
    • Linus Torvalds's avatar
      Merge git://git.infradead.org/battery-2.6 · 53ff7095
      Linus Torvalds authored
      * git://git.infradead.org/battery-2.6:
        pmu_battery: Fix battery full reporting
      53ff7095
    • Bryn M. Reeves's avatar
      [SCSI] megaraid_sas: remove sysfs poll_mode_io world writeable permissions · bb7d3f24
      Bryn M. Reeves authored
      /sys/bus/pci/drivers/megaraid_sas/poll_mode_io defaults to being
      world-writable, which seems bad (letting any user affect kernel driver
      behavior).
      
      This turns off group and user write permissions, so that on typical
      production systems only root can write to it.
      Signed-off-by: default avatarBryn M. Reeves <bmr@redhat.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      bb7d3f24
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://gitorious.org/linux-omap-dss2/linux · 90aeb7c0
      Linus Torvalds authored
      * 'for-linus' of git://gitorious.org/linux-omap-dss2/linux:
        OMAP: DSS2: OMAPFB: fix crash when panel driver was not loaded
        OMAP: DSS2: Reject scaling settings when they cannot be supported
        OMAP: DSS2: Make check-delay-loops consistent
        OMAP: DSS2: OMAPFB: fix omapfb_free_fbmem()
        video/omap: add __init/__exit macros to drivers/video/omap/lcd_htcherald.c
        OMAP: DSS2: Fix compile warning
        MAINTAINERS: Combine DSS2 and OMAPFB2 into one entry
        MAINTAINERS: change omapfb maintainer
        OMAP: OMAPFB: add dummy release function for omapdss
        OMAP: OMAPFB: fix clk_get for RFBI
        OMAP: DSS2: RFBI: convert to new kfifo API
        OMAP: DSS2: Fix crash when panel doesn't define enable_te()
        OMAP: DSS2: Collect interrupt statistics
        OMAP: DSS2: DSI: print debug DCS cmd in hex
        OMAP: DSS2: DSI: fix VC channels in send_short and send_null
      90aeb7c0
    • Dave Chinner's avatar
      lib: Introduce generic list_sort function · 2c761270
      Dave Chinner authored
      There are two copies of list_sort() in the tree already, one in the DRM
      code, another in ubifs.  Now XFS needs this as well.  Create a generic
      list_sort() function from the ubifs version and convert existing users
      to it so we don't end up with yet another copy in the tree.
      Signed-off-by: default avatarDave Chinner <david@fromorbit.com>
      Acked-by: default avatarDave Airlie <airlied@redhat.com>
      Acked-by: default avatarArtem Bityutskiy <dedekind@infradead.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      2c761270
    • Dave Jones's avatar
      remove my email address from checkpatch. · dbf004d7
      Dave Jones authored
      Maybe this will stop people emailing me about it.
      Signed-off-by: default avatarDave Jones <davej@redhat.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      dbf004d7
    • Linus Torvalds's avatar
      Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev · 2d13c8f0
      Linus Torvalds authored
      * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev:
        libata: retry link resume if necessary
        ata_piix: enable 32bit PIO on SATA piix
        sata_promise: don't classify overruns as HSM errors
      2d13c8f0
    • Linus Torvalds's avatar
      Merge master.kernel.org:/home/rmk/linux-2.6-arm · 1f0e14bb
      Linus Torvalds authored
      * master.kernel.org:/home/rmk/linux-2.6-arm:
        ARM: Ensure ARMv6/7 mm files are built using appropriate assembler options
        ARM: Fix wrong dmb
        ARM: 5874/1: serial21285: fix disable_irq-from-interrupt-handler deadlock
        ARM: 5873/1: ARM: Fix the reset logic for ARM RealView boards
        ARM: 5872/1: ARM: include needed linux/cpu.h in asm/cpu.h
        ARM: 5871/1: arch/arm: Fix build failure for lpd7a404_defconfig caused by missing includes
        ARM: 5870/1: arch/arm: Fix build failure for defconfigs without CONFIG_ISA_DMA_API set
        ARM: 5868/1: ARM: fix "BUG: using smp_processor_id() in preemptible code"
        ARM: 5867/1: Update U300 defconfig
        ARM: 5866/1: arm ptrace: use unsigned types for kernel pt_regs
        [ARM] pxa: fix strange characters in zaurus gpio .desc
        ARM: add missing recvmmsg syscall number
        [ARM] pxa: fix compiler warnings of unused variable 'id' in cpu_is_pxa9*()
        [ARM] pxa: update pwm_backlight->notify() to include missed 'struct device *'
        [ARM] pxa: enable L2 if present in XSC3
        [ARM] pxa: do not enable L2 after MMU is enabled
      1f0e14bb
    • Linus Torvalds's avatar
      Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus · f25bb39f
      Linus Torvalds authored
      * 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus: (22 commits)
        MIPS: Ignore vmlinux.*
        MIPS: Move vmlinux.ecoff to arch/mips/boot
        MIPS: cpumask_of_node() should handle -1 as a node
        MIPS: Octeon: Use non-overflowing arithmetic in sched_clock
        MIPS: Malta, PowerTV: Remove unnecessary "Linux started"
        MIPS: BCM63xx: Remove duplicate CONFIG_CMDLINE.
        MIPS: AR7: Remove unused prom_getchar()
        MIPS: PowerTV: Remove extra r4k_clockevent_init() call
        MIPS: Cobalt use strlcat() for the command line arguments
        MIPS: Octeon: Add sched_clock() to csrc-octeon.c
        MIPS: TXx9: Cleanup builtin-cmdline processing
        MIPS: PowerTV: simplify prom_init_cmdline() and merge into prom_init()
        MIPS: PowerTV: Remove unused platform_die()
        MIPS: PowerTV: Remove mips_machine_halt()
        MIPS: PowerTV: Remove unused ptv_memsize
        MIPS: PowerTV: Remove unused prom_getcmdline()
        MIPS: AR7: Remove kgdb_enabled
        MIPS: Alchemy: Correct code taking the size of a pointer
        MIPS: BCM63xx: Fix whitespace damaged board_bcm963xx.c
        MIPS: VR41xx: Use strlcat() for the command line arguments
        ...
      f25bb39f
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 · 7113578a
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6:
        ALSA: hda - Fix ALC861-VD capture source mixer
        ALSA: ac97: add AC97 STMicroelectronics' codecs
        ALSA: ac97: Add Dell Dimension 2400 to Headphone/Line Jack Sense blacklist
        ASoC: Fix WM8350 DSP mode B configuration
        sbawe: fix memory detection part 2
        sound: oss: off by one bug
        ALSA: usb-audio - Avoid Oops after disconnect
        ALSA: test off by one in setsamplerate()
        ALSA: atiixp: Specify codec for Foxconn RC4107MA-RS2
      7113578a
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 · 597d8c71
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (56 commits)
        sky2: Fix oops in sky2_xmit_frame() after TX timeout
        Documentation/3c509: document ethtool support
        af_packet: Don't use skb after dev_queue_xmit()
        vxge: use pci_dma_mapping_error to test return value
        netfilter: ebtables: enforce CAP_NET_ADMIN
        e1000e: fix and commonize code for setting the receive address registers
        e1000e: e1000e_enable_tx_pkt_filtering() returns wrong value
        e1000e: perform 10/100 adaptive IFS only on parts that support it
        e1000e: don't accumulate PHY statistics on PHY read failure
        e1000e: call pci_save_state() after pci_restore_state()
        netxen: update version to 4.0.72
        netxen: fix set mac addr
        netxen: fix smatch warning
        netxen: fix tx ring memory leak
        tcp: update the netstamp_needed counter when cloning sockets
        TI DaVinci EMAC: Handle emac module clock correctly.
        dmfe/tulip: Let dmfe handle DM910x except for SPARC on-board chips
        ixgbe: Fix compiler warning about variable being used uninitialized
        netfilter: nf_ct_ftp: fix out of bounds read in update_nl_seq()
        mv643xx_eth: don't include cache padding in rx desc buffer size
        ...
      
      Fix trivial conflict in drivers/scsi/cxgb3i/cxgb3i_offload.c
      597d8c71