kernel-fxtec-pro1x/arch/powerpc/kernel
Anton Blanchard 339ce1a4dc perf: Fix inconsistency between IP and callchain sampling
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: Anton 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: Frederic Weisbecker <fweisbec@gmail.com>
2010-01-28 14:31:20 +01:00
..
vdso32 powerpc: Fix segment mapping in vdso32 2009-10-27 16:42:40 +11:00
vdso64 Use macros for .data.page_aligned section. 2009-09-21 06:27:08 +02:00
.gitignore
align.c powerpc: Handle VSX alignment faults correctly in little-endian mode 2009-12-18 14:55:43 +11:00
asm-offsets.c powerpc/fsl-booke: Rework TLB CAM code 2009-11-20 16:45:33 -06:00
audit.c
btext.c
cacheinfo.c powerpc/cacheinfo: Rename cache_dir per-cpu variable 2009-01-13 14:48:02 +11:00
cacheinfo.h powerpc: Rewrite sysfs processor cache info code 2009-01-08 16:25:10 +11:00
clock.c
compat_audit.c
cpu_setup_6xx.S powerpc: Use names rather than numbers for SPRGs (v2) 2009-08-20 10:12:27 +10:00
cpu_setup_44x.S AMCC PPC 460SX redwood SoC platform initial framework 2009-02-14 14:41:29 -05:00
cpu_setup_fsl_booke.S powerpc/fsl-booke: Enable L1 cache on e500v1/e500v2/e500mc CPUs 2009-06-15 21:45:30 -05:00
cpu_setup_pa6t.S
cpu_setup_ppc970.S
cputable.c powerpc: broadway processor support 2009-12-12 22:24:29 -07:00
crash.c powerpc: Remove get_irq_desc() 2009-10-30 17:20:55 +11:00
crash_dump.c powerpc: Unify opcode definitions and support 2009-02-23 10:48:56 +11:00
dbell.c powerpc: Add support for using doorbells for SMP IPI 2009-02-23 15:53:03 +11:00
dma-iommu.c powerpc: Change archdata dma_data to a union 2009-09-24 15:31:43 +10:00
dma-swiotlb.c powerpc: Kill unused swiotlb variable 2009-11-24 17:00:24 +11:00
dma.c powerpc: Rename get_dma_direct_offset get_dma_offset 2009-09-24 15:31:43 +10:00
entry_32.S powerpc: Use names rather than numbers for SPRGs (v2) 2009-08-20 10:12:27 +10:00
entry_64.S Merge branches 'perf/powerpc' and 'perf/bench' into perf/core 2009-11-15 09:51:24 +01:00
exceptions-64e.S powerpc/book3e-64: Remove duplicated #include 2009-09-24 15:31:41 +10:00
exceptions-64s.S Merge commit 'origin/master' into next 2009-12-09 17:14:38 +11:00
firmware.c
fpu.S powerpc: Use names rather than numbers for SPRGs (v2) 2009-08-20 10:12:27 +10:00
ftrace.c Merge branch 'tracing-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2009-06-20 10:56:46 -07:00
head_8xx.S powerpc/8xx: DTLB Miss cleanup 2009-12-09 17:10:37 +11:00
head_32.S powerpc: gamecube/wii: early debugging using usbgecko 2009-12-12 22:24:31 -07:00
head_40x.S powerpc: Use names rather than numbers for SPRGs (v2) 2009-08-20 10:12:27 +10:00
head_44x.S powerpc/mm: Cleanup handling of execute permission 2009-08-27 13:12:51 +10:00
head_64.S Make head_64.S aware of KVM real mode code 2009-11-05 16:49:57 +11:00
head_booke.h powerpc: Use names rather than numbers for SPRGs (v2) 2009-08-20 10:12:27 +10:00
head_fsl_booke.S powerpc/fsl-booke: Rework TLB CAM code 2009-11-20 16:45:33 -06:00
ibmebus.c powerpc: use dma_map_ops struct 2009-08-28 14:24:10 +10:00
idle.c sysctl: Drop & in front of every proc_handler. 2009-11-18 08:37:40 -08:00
idle_6xx.S
idle_e500.S
idle_power4.S
init_task.c Use new __init_task_data macro in arch init_task.c files. 2009-09-21 06:27:08 +02:00
io.c powerpc: tiny memcpy_(to|from)io optimisation 2009-11-04 16:43:12 -07:00
iomap.c
iommu.c iommu-helper: use bitmap library 2009-12-16 07:20:18 -08:00
irq.c genirq: Convert irq_desc.lock to raw_spinlock 2009-12-14 23:55:33 +01:00
isa-bridge.c
kgdb.c tree-wide: fix assorted typos all over the place 2009-12-04 15:39:55 +01:00
kprobes.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2009-01-07 11:31:52 -08:00
l2cr_6xx.S
legacy_serial.c
lparcfg.c powerpc: Move /proc/ppc64 to /proc/powerpc and add symlink 2009-10-30 17:20:53 +11:00
machine_kexec.c powerpc: Allow mem=x cmdline to work with 4G+ 2009-05-15 16:43:41 +10:00
machine_kexec_32.c
machine_kexec_64.c Use new __init_task_data macro in arch init_task.c files. 2009-09-21 06:27:08 +02:00
Makefile powerpc/chrp: Use the same RTAS daemon as pSeries 2009-10-30 17:20:53 +11:00
misc.S
misc_32.S powerpc/8xx: Start using dcbX instructions in various copy routines 2009-12-09 17:10:37 +11:00
misc_64.S powerpc: Move VMX and VSX asm code to vector.S 2009-06-09 16:46:25 +10:00
module.c module: cleanup FIXME comments about trimming exception table entries. 2009-06-12 21:47:05 +09:30
module_32.c
module_64.c powerpc: Unify opcode definitions and support 2009-02-23 10:48:56 +11:00
mpc7450-pmu.c perf: Do the big rename: Performance Counters -> Performance Events 2009-09-21 14:28:04 +02:00
msi.c powerpc/PCI: include pci.h in powerpc MSI implementation 2009-03-25 08:54:29 -07:00
nvram_64.c powerpc: Use unlocked ioctl in nvram_64 2009-11-24 14:31:26 +11:00
of_device.c powerpc/of: Fix usage of dev_set_name() in of_device_alloc() 2009-06-26 16:55:35 +10:00
of_platform.c powerpc/pci: Merge ppc32 and ppc64 versions of phb_scan() 2009-09-02 15:45:53 +10:00
paca.c powerpc: Add PACA fields specific to 64-bit Book3E processors 2009-08-20 10:25:08 +10:00
pci-common.c PCI/cardbus: Add a fixup hook and fix powerpc 2009-12-16 18:55:51 -08:00
pci_32.c powerpc/pci: Merge ppc32 and ppc64 versions of phb_scan() 2009-09-02 15:45:53 +10:00
pci_64.c powerpc: Fix compile errors found by new ppc64e_defconfig 2009-10-27 16:42:41 +11:00
pci_dn.c powerpc/pci: Move pseries code into pseries platform specific area 2009-05-21 15:44:24 +10:00
pci_of_scan.c Merge branch 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 2009-09-16 07:49:54 -07:00
perf_callchain.c perf: Fix inconsistency between IP and callchain sampling 2010-01-28 14:31:20 +01:00
perf_event.c Merge branches 'perf/powerpc' and 'perf/bench' into perf/core 2009-11-15 09:51:24 +01:00
pmc.c
power4-pmu.c perf: Do the big rename: Performance Counters -> Performance Events 2009-09-21 14:28:04 +02:00
power5+-pmu.c powerpc: perf_event: Enable SDAR in continous sample mode 2009-10-28 16:13:02 +11:00
power5-pmu.c powerpc: perf_event: Enable SDAR in continous sample mode 2009-10-28 16:13:02 +11:00
power6-pmu.c powerpc: perf_event: Enable SDAR in continous sample mode 2009-10-28 16:13:02 +11:00
power7-pmu.c powerpc: perf_event: Enable SDAR in continous sample mode 2009-10-28 16:13:02 +11:00
ppc32.h
ppc970-pmu.c powerpc: perf_event: Enable SDAR in continous sample mode 2009-10-28 16:13:02 +11:00
ppc_ksyms.c powerpc: do not export pci_alloc/free_consistent 2009-11-24 17:00:23 +11:00
ppc_save_regs.S powerpc: Prepare xmon_save_regs for use with kdump 2008-12-23 15:13:28 +11:00
proc_powerpc.c powerpc: Move /proc/ppc64 to /proc/powerpc and add symlink 2009-10-30 17:20:53 +11:00
process.c powerpc: Fix compile errors found by new ppc64e_defconfig 2009-10-27 16:42:41 +11:00
prom.c of: merge of_find_all_nodes() implementations 2009-10-15 10:58:09 -06:00
prom_init.c powerpc: Fix ibm,client-architecture-support printout 2009-09-24 15:31:47 +10:00
prom_init_check.sh powerpc: Print linux_banner in prom_init 2009-03-11 17:11:33 +11:00
prom_parse.c powerpc: Fix of_node_put() exit path in of_irq_map_one() 2009-04-20 12:18:43 -06:00
ptrace.c powerpc: Fix booke user_disable_single_step() 2009-07-15 17:41:45 +10:00
ptrace32.c headers: smp_lock.h redux 2009-07-12 12:22:34 -07:00
reloc_64.S
rtas-proc.c
rtas-rtc.c
rtas.c locking: Convert __raw_spin* functions to arch_spin* 2009-12-14 23:55:32 +01:00
rtas_flash.c powerpc: Move /proc/ppc64 to /proc/powerpc and add symlink 2009-10-30 17:20:53 +11:00
rtas_pci.c powerpc/pci: Clean up direct access to sysdata by RTAS 2009-05-21 15:44:23 +10:00
rtasd.c powerpc/chrp: Use the same RTAS daemon as pSeries 2009-10-30 17:20:53 +11:00
setup-common.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu 2009-12-14 09:58:24 -08:00
setup.h
setup_32.c swiotlb: Defer swiotlb init printing, export swiotlb_print_info() 2009-11-10 12:32:00 +01:00
setup_64.c Merge commit 'origin/master' into next 2009-12-09 17:14:38 +11:00
signal.c powerpc: Sanitize stack pointer in signal handling code 2009-03-27 16:58:24 +11:00
signal.h powerpc: Sanitize stack pointer in signal handling code 2009-03-27 16:58:24 +11:00
signal_32.c powerpc: Sanitize stack pointer in signal handling code 2009-03-27 16:58:24 +11:00
signal_64.c powerpc: Sanitize stack pointer in signal handling code 2009-03-27 16:58:24 +11:00
smp-tbsync.c
smp.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu 2009-12-14 09:58:24 -08:00
softemu8xx.c
stacktrace.c
suspend.c
swsusp.c powerpc/mm: Split mmu_context handling 2008-12-21 14:21:15 +11:00
swsusp_32.S powerpc/mm: Introduce MMU features 2008-12-21 14:21:16 +11:00
swsusp_64.c
swsusp_asm64.S
sys_ppc32.c sysctl: Introduce a generic compat sysctl sysctl 2009-11-06 03:52:55 -08:00
syscalls.c Unify sys_mmap* 2009-12-11 06:44:29 -05:00
sysfs.c sysfs/cpu: Add probe/release files 2009-12-09 17:09:33 +11:00
systbl.S
systbl_chk.c
systbl_chk.sh
tau_6xx.c tree-wide: fix assorted typos all over the place 2009-12-04 15:39:55 +01:00
time.c Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc 2009-12-12 14:27:24 -08:00
traps.c ptrace: powerpc: implement user_single_step_siginfo() 2009-12-16 07:20:08 -08:00
udbg.c powerpc: gamecube/wii: early debugging using usbgecko 2009-12-12 22:24:31 -07:00
udbg_16550.c trivial: fix typo "for for" in multiple files 2009-09-21 15:14:54 +02:00
vdso.c tree-wide: fix a very frequent spelling mistake 2009-11-09 09:40:54 +01:00
vecemu.c
vector.S powerpc: Fix usage of 64-bit instruction in 32-bit altivec code 2009-12-09 18:10:12 +11:00
vio.c powerpc: Change archdata dma_data to a union 2009-09-24 15:31:43 +10:00
vmlinux.lds.S module: handle ppc64 relocating kcrctabs when CONFIG_RELOCATABLE=y 2009-12-15 16:28:34 +10:30