1. 13 1月, 2010 40 次提交
    • A
      perf tools: Create typedef for common event synthesizing callback · cf553114
      Arnaldo Carvalho de Melo 提交于
      Signed-off-by: NArnaldo 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: NIngo Molnar <mingo@elte.hu>
      cf553114
    • A
      perf symbols: Record the domain of DSOs in HEADER_BUILD_ID header table · a89e5abe
      Arnaldo Carvalho de Melo 提交于
      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: NArnaldo 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: NIngo Molnar <mingo@elte.hu>
      a89e5abe
    • A
      perf buildid-list: No need to process the header sections again · fed5af61
      Arnaldo Carvalho de Melo 提交于
      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: NArnaldo 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: NIngo Molnar <mingo@elte.hu>
      fed5af61
    • A
      perf: Fix memory leak: counterwidth · 8d9e5039
      Alexander Beregalov 提交于
      Signed-off-by: NAlexander 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: NIngo Molnar <mingo@elte.hu>
      8d9e5039
    • M
      perf probe: Support --line option to show probable source-code lines · 631c9def
      Masami Hiramatsu 提交于
      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: NMasami 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: NIngo Molnar <mingo@elte.hu>
      631c9def
    • M
      perf tools: Enhance glob string matching · 6964cd2c
      Masami Hiramatsu 提交于
      Enhance strglobmatch() for supporting character classes([CHARS],
      complementation and ranges are also supported) and escaped
      special characters (\*, \? etc).
      Signed-off-by: NMasami 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: NIngo Molnar <mingo@elte.hu>
      6964cd2c
    • M
      perf tools: Support tracepoint glob matching · fb1d2edf
      Masami Hiramatsu 提交于
      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: NMasami 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: NIngo Molnar <mingo@elte.hu>
      fb1d2edf
    • M
      perf probe: Show probe list in pager · 72041334
      Masami Hiramatsu 提交于
      Show probe list in pager, because the list can be longer than
      a page.
      Signed-off-by: NMasami 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: NIngo Molnar <mingo@elte.hu>
      72041334
    • M
      perf probe: Remove newline from die() · bbaa46fa
      Masami Hiramatsu 提交于
      Remove newline from die(), because it is automatically added.
      Signed-off-by: NMasami 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: NIngo Molnar <mingo@elte.hu>
      bbaa46fa
    • M
      x86/ptrace: Remove unused regs_get_argument_nth API · aa5add93
      Masami Hiramatsu 提交于
      Because of dropping function argument syntax from kprobe-tracer,
      we don't need this API anymore.
      Signed-off-by: NMasami 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: NIngo Molnar <mingo@elte.hu>
      aa5add93
    • M
      tracing/kprobe: Drop function argument access syntax · 14640106
      Masami Hiramatsu 提交于
      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: NMasami 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: NIngo Molnar <mingo@elte.hu>
      14640106
    • M
      tracing/kprobe: Update example output in documentation · ec3a9039
      Masami Hiramatsu 提交于
      Update example output in documentation according to current
      implementation.
      Signed-off-by: NMasami 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: NIngo Molnar <mingo@elte.hu>
      ec3a9039
    • A
      perf tools: Handle relocatable kernels · 56b03f3c
      Arnaldo Carvalho de Melo 提交于
      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: NXiao Guangrong <xiaoguangrong@cn.fujitsu.com>
      Signed-off-by: NArnaldo 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: NIngo Molnar <mingo@elte.hu>
      56b03f3c
    • A
      perf report: Fix --no-call-chain option handling · b9a63b9b
      Arnaldo Carvalho de Melo 提交于
      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: NPeter Zijlstra <a.p.zijlstra@chello.nl>
      Signed-off-by: NArnaldo 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: NIngo Molnar <mingo@elte.hu>
      b9a63b9b
    • A
      perf session: Keep pointers to the vmlinux maps · de176489
      Arnaldo Carvalho de Melo 提交于
      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: NArnaldo 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: NIngo Molnar <mingo@elte.hu>
      de176489
    • A
      perf tools: Create write_padded routine out of __dsos__write_buildid_table · f92cb24c
      Arnaldo Carvalho de Melo 提交于
      Will be used by other options where padding is needed.
      Signed-off-by: NArnaldo 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: NIngo Molnar <mingo@elte.hu>
      f92cb24c
    • A
      perf symbols: Export symbol_type__is_a · 36a3e646
      Arnaldo Carvalho de Melo 提交于
      Will be needed by the new HEADER_DSO_INFO feature that will be a
      HEADER_BUILD_ID superset, replacing it.
      Signed-off-by: NArnaldo 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: NIngo Molnar <mingo@elte.hu>
      36a3e646
    • A
      perf symbols: Generalise the kallsyms parsing routine · 682b335a
      Arnaldo Carvalho de Melo 提交于
      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: NArnaldo 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: NIngo Molnar <mingo@elte.hu>
      682b335a
    • L
      perf tools: Fix --pid option for stat · 60666c63
      Liming Wang 提交于
      current pid option doesn't work for perf stat. Change it to what
      perf record --pid acts as.
      Signed-off-by: NLiming 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: NIngo Molnar <mingo@elte.hu>
      60666c63
    • F
      perf: Drop useless check for ignored frame · 0fb8ee48
      Frederic Weisbecker 提交于
      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: NFrederic 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: NIngo Molnar <mingo@elte.hu>
      0fb8ee48
    • I
      Merge branch 'perf/urgent' into perf/core · 61405fea
      Ingo Molnar 提交于
      Merge reason: queue up dependent patch, update to -rc4
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      61405fea
    • A
      perf tools: Check if /dev/null can be used as the -o gcc argument · 1703f2c3
      Arnaldo Carvalho de Melo 提交于
      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: NArnaldo 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: NIngo Molnar <mingo@elte.hu>
      1703f2c3
    • A
      perf tools: Move QUIET_STDERR def to before first use · 83039518
      Arnaldo Carvalho de Melo 提交于
      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: NArnaldo 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: NIngo Molnar <mingo@elte.hu>
      83039518
    • F
      perf: Stop stack frame walking off kernel addresses boundaries · c2c5d45d
      Frederic Weisbecker 提交于
      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: NFrederic 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: NIngo Molnar <mingo@elte.hu>
      c2c5d45d
    • L
      Linux 2.6.33-rc4 · 7284ce6c
      Linus Torvalds 提交于
      7284ce6c
    • L
      Merge git://git.infradead.org/battery-2.6 · 53ff7095
      Linus Torvalds 提交于
      * git://git.infradead.org/battery-2.6:
        pmu_battery: Fix battery full reporting
      53ff7095
    • B
      [SCSI] megaraid_sas: remove sysfs poll_mode_io world writeable permissions · bb7d3f24
      Bryn M. Reeves 提交于
      /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: NBryn M. Reeves <bmr@redhat.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      bb7d3f24
    • L
      Merge branch 'for-linus' of git://gitorious.org/linux-omap-dss2/linux · 90aeb7c0
      Linus Torvalds 提交于
      * '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
    • D
      lib: Introduce generic list_sort function · 2c761270
      Dave Chinner 提交于
      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: NDave Chinner <david@fromorbit.com>
      Acked-by: NDave Airlie <airlied@redhat.com>
      Acked-by: NArtem Bityutskiy <dedekind@infradead.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      2c761270
    • D
      remove my email address from checkpatch. · dbf004d7
      Dave Jones 提交于
      Maybe this will stop people emailing me about it.
      Signed-off-by: NDave Jones <davej@redhat.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      dbf004d7
    • L
      Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev · 2d13c8f0
      Linus Torvalds 提交于
      * '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
    • L
      Merge master.kernel.org:/home/rmk/linux-2.6-arm · 1f0e14bb
      Linus Torvalds 提交于
      * 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
    • L
      Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus · f25bb39f
      Linus Torvalds 提交于
      * '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
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 · 7113578a
      Linus Torvalds 提交于
      * '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
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 · 597d8c71
      Linus Torvalds 提交于
      * 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
    • G
      m68knommu: fix definitions of __pa() and __va() · 682137f7
      Greg Ungerer 提交于
      Fix compilation breakage of all m68knommu targets:
      
        CC      arch/m68knommu/kernel/asm-offsets.s
      In file included from include/linux/sched.h:77,
                       from arch/m68knommu/kernel/asm-offsets.c:12:
      include/linux/percpu.h: In function 'per_cpu_ptr_to_phys':
      include/linux/percpu.h:161: error: implicit declaration of function 'virt_to_phy
      
      This is broken in linux-2.6.33-rc3.
      
      Change the definitions of __pa() and __va() to not use virt_to_phys()
      and phys_to_virt(). Trivial 1:1 conversion required for the non-MMU case.
      
      A side effect if this is that the m68knommu can now use asm/virtconvert.h
      for the definition of virt_to_phys() and phys_to_virt().
      
      Also cleaned up the definition of page_to_phys() when moving into
      virtconvert.h.
      Signed-off-by: NGreg Ungerer <gerg@uclinux.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      682137f7
    • T
      libata: retry link resume if necessary · 5040ab67
      Tejun Heo 提交于
      Interestingly, when SIDPR is used in ata_piix, writes to DET in
      SControl sometimes get ignored leading to detection failure.  Update
      sata_link_resume() such that it reads back SControl after clearing DET
      and retry if it's not clear.
      Signed-off-by: NTejun Heo <tj@kernel.org>
      Reported-by: Nfengxiangjun <fengxiangjun@neusoft.com>
      Reported-by: NJim Faulkner <jfaulkne@ccs.neu.edu>
      Cc: stable@kernel.org
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      5040ab67
    • T
      ata_piix: enable 32bit PIO on SATA piix · 0b67c743
      Tejun Heo 提交于
      Commit 871af121 enabled 32bit PIO for
      PATA piix but didn't for SATA.  There's no reason not to use 32bit PIO
      on SATA piix.  Enable it.
      Signed-off-by: NTejun Heo <tj@kernel.org>
      Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      0b67c743
    • M
      sata_promise: don't classify overruns as HSM errors · a2342f46
      Mikael Pettersson 提交于
      When sata_promise encounters an overrun or underrun error it
      translates that to a libata AC_ERR_HSM, causing a hard reset.
      Since over/under-runs were thought to be rare and transient,
      this action seemed reasonable.
      
      Unfortunately it turns out that the controller throws overrun
      errors when e.g. hal polls a CD or DVD writer containing blank
      media, causing long sequences of hard resets and retries before
      EH finally gives up.
      
      This patch updates sata_promise to classify over/under-runs as
      AC_ERR_OTHER instead. This allows libata EH and upper layers to
      retry or fail the operation as they see fit without the disruption
      caused by repeated hard resets.
      
      This fixes a problem using a DVD-RAM drive with sata_promise,
      reported by Thomas Schorpp. I also tested it on a DVD-RW drive.
      Signed-off-by: NMikael Pettersson <mikpe@it.uu.se>
      Tested-by: Nthomas schorpp <thomas.schorpp@googlemail.com>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      a2342f46
    • R
      ARM: Ensure ARMv6/7 mm files are built using appropriate assembler options · aff7b4f8
      Russell King 提交于
      A kernel with both ARMv6 and ARMv7 selected results in build errors.
      Fix this by specifying the proper architectures for these assembly
      files.
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      aff7b4f8