1. 29 1月, 2010 18 次提交
  2. 28 1月, 2010 1 次提交
    • A
      perf: Fix inconsistency between IP and callchain sampling · 339ce1a4
      Anton Blanchard 提交于
      When running perf across all cpus with backtracing (-a -g), sometimes we
      get samples without associated backtraces:
      
          23.44%         init  [kernel]                     [k] restore
          11.46%         init                       eeba0c  [k] 0x00000000eeba0c
           6.77%      swapper  [kernel]                     [k] .perf_ctx_adjust_freq
           5.73%         init  [kernel]                     [k] .__trace_hcall_entry
           4.69%         perf  libc-2.9.so                  [.] 0x0000000006bb8c
                             |
                             |--11.11%-- 0xfffa941bbbc
      
      It turns out the backtrace code has a check for the idle task and the IP
      sampling does not. This creates problems when profiling an interrupt
      heavy workload (in my case 10Gbit ethernet) since we get no backtraces
      for interrupts received while idle (ie most of the workload).
      
      Right now x86 and sh check that current is not NULL, which should never
      happen so remove that too.
      
      Idle task's exclusion must be performed from the core code, on top
      of perf_event_attr:exclude_idle.
      Signed-off-by: NAnton Blanchard <anton@samba.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Paul Mundt <lethal@linux-sh.org>
      LKML-Reference: <20100118054707.GT12666@kryten>
      Signed-off-by: NFrederic Weisbecker <fweisbec@gmail.com>
      339ce1a4
  3. 25 1月, 2010 5 次提交
  4. 21 1月, 2010 1 次提交
  5. 19 1月, 2010 2 次提交
  6. 17 1月, 2010 1 次提交
  7. 16 1月, 2010 2 次提交
  8. 13 1月, 2010 8 次提交
    • I
      x86: xen: 64-bit kernel RPL should be 0 · e68266b7
      Ian Campbell 提交于
      Under Xen 64 bit guests actually run their kernel in ring 3,
      however the hypervisor takes care of squashing descriptor the
      RPLs transparently (in order to allow them to continue to
      differentiate between user and kernel space CS using the RPL).
      Therefore the Xen paravirt backend should use RPL==0 instead of
      1 (or 3). Using RPL==1 causes generic arch code to take
      incorrect code paths because it uses "testl $3, <CS>, je foo"
      type tests for a userspace CS and this considers 1==userspace.
      
      This issue was previously masked because get_kernel_rpl() was
      omitted when setting CS in kernel_thread(). This was fixed when
      kernel_thread() was unified with 32 bit in
      f443ff42.
      Signed-off-by: NIan Campbell <ian.campbell@citrix.com>
      Cc: Christian Kujau <lists@nerdbynature.de>
      Cc: Jeremy Fitzhardinge <Jeremy.Fitzhardinge@citrix.com>
      Cc: Cyrill Gorcunov <gorcunov@gmail.com>
      Cc: Brian Gerst <brgerst@gmail.com>
      LKML-Reference: <1263377768-19600-2-git-send-email-ian.campbell@citrix.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      e68266b7
    • C
      x86: kernel_thread() -- initialize SS to a known state · 864a0922
      Cyrill Gorcunov 提交于
      Before the kernel_thread was converted into "C" we had
      pt_regs::ss set to __KERNEL_DS (by SAVE_ALL asm macro).
      
      Though I must admit I didn't find any *explicit* load of
      %ss from this structure the better to be on a safe side
      and set it to a known value.
      Signed-off-by: NCyrill Gorcunov <gorcunov@openvz.org>
      Signed-off-by: NIan Campbell <ian.campbell@citrix.com>
      Cc: Christian Kujau <lists@nerdbynature.de>
      Cc: Jeremy Fitzhardinge <Jeremy.Fitzhardinge@citrix.com>
      Cc: Brian Gerst <brgerst@gmail.com>
      LKML-Reference: <1263377768-19600-1-git-send-email-ian.campbell@citrix.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      864a0922
    • F
      x86/agp: Fix agp_amd64_init and agp_amd64_cleanup · 42590a75
      FUJITA Tomonori 提交于
      This fixes the regression introduced by the commit
      f405d2c0.
      
      The above commit fixes the following issue:
      
        http://marc.info/?l=linux-kernel&m=126192729110083&w=2
      
      However, it doesn't work properly when you remove and insert the
      agp_amd64 module again.
      
      agp_amd64_init() and agp_amd64_cleanup should be called only
      when gart_iommu is not called earlier (that is, the GART IOMMU
      is not enabled). We need to use 'gart_iommu_aperture' to see if
      GART IOMMU is enabled or not.
      Signed-off-by: NFUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
      Cc: mitov@issp.bas.bg
      Cc: davej@redhat.com
      LKML-Reference: <20100104161603L.fujita.tomonori@lab.ntt.co.jp>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      42590a75
    • M
      x86: SGI UV: Fix mapping of MMIO registers · fcfbb2b5
      Mike Travis 提交于
      This fixes the problem of the initialization code not correctly
      mapping the entire MMIO space on a UV system.  A side effect is
      the map_high() interface needed to be changed to accommodate
      different address and size shifts.
      Signed-off-by: NMike Travis <travis@sgi.com>
      Reviewed-by: NMike Habeck <habeck@sgi.com>
      Cc: <stable@kernel.org>
      Cc: Jack Steiner <steiner@sgi.com>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      LKML-Reference: <4B479202.7080705@sgi.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      fcfbb2b5
    • A
      x86: mce.h: Fix warning in header checks · df39a2e4
      Alan Cox 提交于
      Someone isn't reading their build output: Move the definition
      out of the exported header.
      Signed-off-by: NAlan Cox <alan@linux.intel.com>
      Cc: linux-kernel@vger.kernelorg
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      df39a2e4
    • 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
    • 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
    • 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
  9. 12 1月, 2010 2 次提交