1. 22 Dec, 2010 5 commits
    • Arnaldo Carvalho de Melo's avatar
      perf test: Look forward for symbol aliases · d3678758
      Arnaldo Carvalho de Melo authored
      Not just before, fixing these false positives:
      
      [acme@mica linux]$ perf test -v 1
       1: vmlinux symtab matches kallsyms:
      --- start ---
      Looking at the vmlinux_path (6 entries long)
      Using //lib/modules/2.6.37-rc5-00180-ge06b6bf/build/vmlinux for symbols
      0xffffffff81058dc0: diff name v: sys_vm86old k: sys_ni_syscall
      0xffffffff81058dc0: diff name v: sys_vm86 k: sys_ni_syscall
      0xffffffff81058dc0: diff name v: sys_subpage_prot k: sys_ni_syscall
      0xffffffff810b5f7c: diff name v: probe_kernel_write k: __probe_kernel_write
      0xffffffff810b5fe5: diff name v: probe_kernel_read k: __probe_kernel_read
      0xffffffff811bc380: diff name v: __memset k: memset
      0xffffffff81384a98: diff name v: __sched_text_start k: sleep_on_common
      0xffffffff81386750: diff name v: __sched_text_end k: _raw_spin_trylock
      0xffffffff8138cee8: diff name v: __irqentry_text_start k: do_IRQ
      0xffffffff8138f079: diff name v: __start_notes k: _etext
      0xffffffff8138f079: diff name v: __stop_notes k: _etext
      ---- end ----
      vmlinux symtab matches kallsyms: FAILED!
      
      [acme@mica linux]$
      
      Some are weak functions, others are just markers, etc. They get in the rb tree
      with the same addr, so we need to look around to find the symbol with the same
      name.
      
      We were looking just at the previous entries with the same addr, look forward
      too.
      
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Han Pingtian <phan@redhat.com>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Stephane Eranian <eranian@google.com>
      LKML-Reference: <new-submission>
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      d3678758
    • Arnaldo Carvalho de Melo's avatar
      perf symbols: Improve kallsyms symbol end addr calculation · 3b01a413
      Arnaldo Carvalho de Melo authored
      For kallsyms we don't have the symbol address end, so we do an extra pass and
      set the symbol end addr as being the start of the next minus one.
      
      But this was being done just after we filtered the symbols of a
      particular type (functions, variables), so the symbol end was sometimes
      after what it really is.
      
      Fixing up symbol end also was falling apart when we have symbol aliases,
      then the end address of all but the last alias was being set to be
      before its start.
      
      Fix it up by checking for symbol aliases and making the kallsyms__parse
      routine use the next symbol, whatever its type, as the limit for the
      previous symbol, passing that end address to the callback.
      
      This was detected by the 'perf test' synthetic paranoid regression
      tests, fix it up so that even that case doesn't mislead us.
      
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Stephane Eranian <eranian@google.com>
      LKML-Reference: <new-submission>
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      3b01a413
    • Ingo Molnar's avatar
      Merge branch 'tip/perf/core' of... · 9fb67204
      Ingo Molnar authored
      Merge branch 'tip/perf/core' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into perf/core
      9fb67204
    • Ingo Molnar's avatar
      Merge branch 'perf/core' of... · 8c1df400
      Ingo Molnar authored
      Merge branch 'perf/core' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux-2.6 into perf/core
      8c1df400
    • Ingo Molnar's avatar
      Merge commit 'v2.6.37-rc7' into perf/core · 6c529a26
      Ingo Molnar authored
      Merge reason: Pick up the latest -rc.
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      6c529a26
  2. 21 Dec, 2010 15 commits
  3. 20 Dec, 2010 9 commits
  4. 19 Dec, 2010 3 commits
  5. 18 Dec, 2010 3 commits
  6. 17 Dec, 2010 5 commits
    • Chris Metcalf's avatar
      arch/tile: handle rt_sigreturn() more cleanly · 81711cee
      Chris Metcalf authored
      The current tile rt_sigreturn() syscall pattern uses the common idiom
      of loading up pt_regs with all the saved registers from the time of
      the signal, then anticipating the fact that we will clobber the ABI
      "return value" register (r0) as we return from the syscall by setting
      the rt_sigreturn return value to whatever random value was in the pt_regs
      for r0.
      
      However, this breaks in our 64-bit kernel when running "compat" tasks,
      since we always sign-extend the "return value" register to properly
      handle returned pointers that are in the upper 2GB of the 32-bit compat
      address space.  Doing this to the sigreturn path then causes occasional
      random corruption of the 64-bit r0 register.
      
      Instead, we stop doing the crazy "load the return-value register"
      hack in sigreturn.  We already have some sigreturn-specific assembly
      code that we use to pass the pt_regs pointer to C code.  We extend that
      code to also set the link register to point to a spot a few instructions
      after the usual syscall return address so we don't clobber the saved r0.
      Now it no longer matters what the rt_sigreturn syscall returns, and the
      pt_regs structure can be cleanly and completely reloaded.
      Signed-off-by: default avatarChris Metcalf <cmetcalf@tilera.com>
      81711cee
    • Chris Metcalf's avatar
      arch/tile: handle CLONE_SETTLS in copy_thread(), not user space · bc4cf2bb
      Chris Metcalf authored
      Previously we were just setting up the "tp" register in the
      new task as started by clone() in libc.  However, this is not
      quite right, since in principle a signal might be delivered to
      the new task before it had its TLS set up.  (Of course, this race
      window still exists for resetting the libc getpid() cached value
      in the new task, in principle.  But in any case, we are now doing
      this exactly the way all other architectures do it.)
      
      This change is important for 2.6.37 since the tile glibc we will
      be submitting upstream will not set TLS in user space any more,
      so it will only work on a kernel that has this fix.  It should
      also be taken for 2.6.36.x in the stable tree if possible.
      Signed-off-by: default avatarChris Metcalf <cmetcalf@tilera.com>
      Cc: stable <stable@kernel.org>
      bc4cf2bb
    • Jean-Francois Moine's avatar
      [media] gspca - sonixj: Better handling of the bridge registers 0x01 and 0x17 · 0e4d413a
      Jean-Francois Moine authored
      The initial values of the registers 0x01 and 0x17 are taken from the sensor
      table at capture start and updated according to the flag PDN_INV.
      
      Their values are updated at each step of the capture initialization and
      memorized for reuse in capture stop.
      
      This patch also fixed automatically some bad hardcoded values of these
      registers.
      Signed-off-by: default avatarJean-François Moine <moinejf@free.fr>
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
      0e4d413a
    • Jean-Francois Moine's avatar
    • Jean-Francois Moine's avatar
      [media] gspca - sonixj: Set the flag for some devices · b2272a49
      Jean-Francois Moine authored
      The flag PDN_INV indicates that the sensor pin S_PWR_DN has not the same
      value as other webcams with the same sensor. For now, only two webcams have
      been so detected: the Microsoft's VX1000 and VX3000.
      Signed-off-by: default avatarJean-François Moine <moinejf@free.fr>
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
      b2272a49