summaryrefslogtreecommitdiff
path: root/arch/arm/oprofile
AgeCommit message (Collapse)AuthorFilesLines
2008-06-26smp_call_function: get rid of the unused nonatomic/retry argumentJens Axboe1-1/+1
It's never used and the comments refer to nonatomic and retry interchangably. So get rid of it. Acked-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com> Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
2008-04-28[ARM] 5018/1: RealView: Fix the ARM11MPCore Oprofile compilationCatalin Marinas1-22/+22
This patch fixes the Oprofile for ARM11MPCore compilation introduced by changes to the RealView code. Only RealView/EB is supported. Signed-off-by: Catalin Marinas <catalin.marinas@arm.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2008-01-24Driver core: change sysdev classes to use dynamic kobject namesKay Sievers1-1/+1
All kobjects require a dynamically allocated name now. We no longer need to keep track if the name is statically assigned, we can just unconditionally free() all kobject names on cleanup. Signed-off-by: Kay Sievers <kay.sievers@vrfy.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2007-10-19Combine instrumentation menus in kernel/Kconfig.instrumentationMathieu Desnoyers1-42/+0
Quoting Randy: "It seems sad that this patch sources Kconfig.marker, a 7-line file, 20-something times. Yes, you (we) don't want to put those 7 lines into 20-something different files, so sourcing is the right thing. However, what you did for avr32 seems more on the right track to me: make _one_ Instrumentation support menu that includes PROFILING, OPROFILE, KPROBES, and MARKERS and then use (source) that in all of the arches." Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca> Acked-by: Randy Dunlap <randy.dunlap@oracle.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-06-02[ARM] Solve buggy smp_processor_id() usageRussell King1-0/+2
BUG: using smp_processor_id() in preemptible [00000001] code: opcontrol/427 Resolve this bug by ensuring that we're not using smp_processor_id() in a preemptable context (by disabling preemption.) Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-05-30[ARM] oprofile: avoid lockdep warnings on mpcore oprofile initRussell King1-2/+7
Fix lockdep warnings, caused by 'set_affinity' being called without the correct locks taken and local interrupts disabled: ================================= [ INFO: inconsistent lock state ] 2.6.22-rc2 #1 --------------------------------- inconsistent {in-hardirq-W} -> {hardirq-on-W} usage. swapper/1 [HC0[0]:SC0[0]:HE1:SE1] takes: (irq_controller_lock){++..}, at: [<c002be50>] gic_set_cpu+0x60/0xa0 {in-hardirq-W} state was registered at: [<c005d9a8>] lock_acquire+0x58/0x6c [<c0233068>] _spin_lock+0x40/0x50 [<c002c020>] gic_mask_irq+0x2c/0x6c [<c0069c64>] handle_level_irq+0x11c/0x14c [<c0020060>] asm_do_IRQ+0x60/0x84 [<c0020d2c>] __irq_svc+0x4c/0xc0 [<c000ed84>] __alloc_bootmem_nopanic+0x74/0x88 [<c000edb0>] __alloc_bootmem+0x18/0x3c [<c000fa00>] alloc_large_system_hash+0x16c/0x200 [<c00108dc>] inode_init_early+0x5c/0xa4 [<c00106dc>] vfs_caches_init_early+0x24/0xa0 [<c0008e54>] start_kernel+0x220/0x2fc [<00008078>] 0x8078 irq event stamp: 88438 hardirqs last enabled at (88438): [<c0020dc0>] preempt_return+0x20/0x2c hardirqs last disabled at (88436): [<c00417bc>] __do_softirq+0xb0/0x138 softirqs last enabled at (88437): [<c0041810>] __do_softirq+0x104/0x138 softirqs last disabled at (88428): [<c0041d9c>] irq_exit+0x68/0x7c other info that might help us debug this: no locks held by swapper/1. stack backtrace: [<c0025ecc>] (dump_stack+0x0/0x14) from [<c005b1e4>] (print_usage_bug+0x138/0x168) [<c005b0ac>] (print_usage_bug+0x0/0x168) from [<c005be80>] (mark_lock+0x484/0x6a0) [<c005b9fc>] (mark_lock+0x0/0x6a0) from [<c005cc48>] (__lock_acquire+0x3c0/0x10c8) [<c005c888>] (__lock_acquire+0x0/0x10c8) from [<c005d9a8>] (lock_acquire+0x58/0x6c) [<c005d950>] (lock_acquire+0x0/0x6c) from [<c0233068>] (_spin_lock+0x40/0x50) [<c0233028>] (_spin_lock+0x0/0x50) from [<c002be50>] (gic_set_cpu+0x60/0xa0) [<c002bdf0>] (gic_set_cpu+0x0/0xa0) from [<c01b04cc>] (em_route_irq+0x38/0x40) [<c01b0494>] (em_route_irq+0x0/0x40) from [<c01b04ec>] (em_setup+0x18/0xa4) [<c01b04d4>] (em_setup+0x0/0xa4) from [<c001570c>] (oprofile_arch_init+0x24/0xe8) [<c00156e8>] (oprofile_arch_init+0x0/0xe8) from [<c0015640>] (oprofile_init+0x1c/0x64) [<c0015624>] (oprofile_init+0x0/0x64) from [<c0008a20>] (kernel_init+0x154/0x368) [<c00088cc>] (kernel_init+0x0/0x368) from [<c003ef34>] (do_exit+0x0/0x904) oprofile: using arm/mpcore Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-04-28[ARM] Add stacktrace support and make oprofile use itRussell King1-52/+17
Add support for stacktrace. Use the new stacktrace code with oprofile instead of it's version; there's no point having multiple versions of stacktracing in the kernel. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-03-02[ARM] 4237/2: oprofile: Always allow backtraces on ARMRichard Purdie1-1/+2
Always allow backtrace when using oprofile on ARM, even if a PMU isn't present. Signed-off-by: Richard Purdie <rpurdie@rpsys.net> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-02-06[ARM] oprofile: add ARM11 SMP supportRussell King6-0/+369
Add the glue for ARM11 SMP oprofile support, which also supports the performance monitor in the coherency unit. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-02-06[ARM] oprofile: add ARM11 UP supportRussell King5-0/+84
Add oprofile glue for ARM11 (ARMv6) oprofile support. This connects the ARM11 core profiling support to the oprofile code for uniprocessor configurations. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-02-06[ARM] oprofile: add ARM11 core supportRussell King4-1/+211
Add basic support for the ARM11 profiling hardware. This is shared between the ARM11 UP and ARM11 SMP oprofile support code. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-11-14[ARM] Remove OP_MAX_COUNTERRussell King1-2/+0
OP_MAX_COUNTER never referenced, and is a reminant of an earlier oprofile implementation. Remove it. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-10-15[ARM] Fix fallout from IRQ regs changesRussell King1-1/+2
Some ARM platforms were still broken as a result of the IRQ register passing changes, mostly due to a missing linux/irq.h include. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-10-06Initial blind fixup for arm for irq changesLinus Torvalds1-2/+2
Untested, but this should fix up the bulk of the totally mechanical issues, and should make the actual detail fixing easier. Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-09-30[ARM] 3880/1: remove the last trace of iop31x supportLennert Buytenhek1-3/+0
Remove the last trace of iop31x support from the kernel. Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-09-25[ARM] 3832/1: iop3xx: coding style cleanupLennert Buytenhek1-3/+3
Since the iop32x code isn't iop321-specific, and the iop33x code isn't iop331-specfic, do a s/iop321/iop32x/ and s/iop331/iop33x/, and tidy up the code to conform to the coding style guidelines somewhat better. Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-09-25[ARM] 3816/1: iop3xx: rename config symbolsLennert Buytenhek1-2/+2
Rename CONFIG_ARCH_IOP321 to CONFIG_ARCH_IOP32X and CONFIG_ARCH_IOP331 to CONFIG_ARCH_IOP33X. Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-07-02[PATCH] ARM: fixup irqflags breakage after ARM genirq mergeThomas Gleixner1-1/+1
The irgflags consolidation did conflict with the ARM to generic IRQ conversion and was not applied for ARM. Fix it up. Use the new IRQF_ constants and remove the SA_INTERRUPT define Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-03-21[ARM] Use kcalloc to allocate counter_config array rather than kmallocRussell King1-1/+1
We need this to be zero initialised. Since this is an array, use kcalloc rather than kzalloc or kmalloc. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-03-21[ARM] Oprofile: dynamically allocate counter_configRussell King2-3/+10
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-03-21[ARM] Oprofile: Convert semaphore to mutexRussell King1-13/+10
op_arm_sem is being used as a mutex, so convert it to use real mutexes. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-02-01[ARM] 3295/1: Fix oprofile init return valueRuss Dill1-2/+3
Patch from Russ Dill The oprofile init code was broken in commit c6b9da. The new logic will always return -ENODEV. This fixes oprofile_arch_init to return 0 on success, and return the return value of spec->init() if applicable. Signed-off-by: Russ Dill <Russ.Dill@gmail.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2005-10-29[PATCH] mm: kill check_user_page_readableHugh Dickins1-37/+9
check_user_page_readable is a problematic variant of follow_page. It's used only by oprofile's i386 and arm backtrace code, at interrupt time, to establish whether a userspace stackframe is currently readable. This is problematic, because we want to push the page_table_lock down inside follow_page, and later split it; whereas oprofile is doing a spin_trylock on it (in the i386 case, forgotten in the arm case), and needs that to pin perhaps two pages spanned by the stackframe (which might be covered by different locks when we split). I think oprofile is going about this in the wrong way: it doesn't need to know the area is readable (neither i386 nor arm uses read protection of user pages), it doesn't need to pin the memory, it should simply __copy_from_user_inatomic, and see if that succeeds or not. Sorry, but I've not got around to devising the sparse __user annotations for this. Then we can eliminate check_user_page_readable, and return to a single follow_page without the __follow_page variants. Signed-off-by: Hugh Dickins <hugh@veritas.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-10-28[ARM] 4/4 Combine oprofile common and init codeRussell King3-52/+29
There is nothing special about having the init code separate from the common code, so combine the two. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2005-10-28[ARM] 3/4 Rename common oprofile codeRussell King3-48/+48
The common oprofile code assumes the name "PMU" (from Intel's performance management unit). This is misleading when we start adding oprofile support for other machine types which don't use the same terminology. Call it op_arm_* instead of pmu_*. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2005-10-28[ARM] 2/4 Fix oprofile suspend/resumeRussell King1-3/+7
The oprofile suspend/resume was missing locking. If we failed to start oprofile on resume, we still reported that it was enabled. Instead, disable oprofile on error. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2005-10-28[ARM] 1/4 Move oprofile driver model codeRussell King1-52/+47
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2005-08-04[PATCH] ARM: 2838/1: Fix arm oprofile backtrace warningRichard Purdie1-1/+1
Patch from Richard Purdie Fix a typo causing a warning in the arm oprofile backtrace code. Signed-off-by: Richard Purdie <rpurdie@rpsys.net> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2005-06-28[PATCH] ARM: 2761/1: OProfile: Add call graphing support for armRichard Purdie4-1/+149
Patch from Richard Purdie Add functions to generate backtraces of both kernel and user processes which allows oprofile's call graphing functionality to be used on arm. This requires unstripped binaries/libs which use a frame pointer. Signed-off-by: Richard Purdie Signed-off-by: Zwane Mwaikambo <zwane@arm.linux.org.uk> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2005-04-16Linux-2.6.12-rc2v2.6.12-rc2Linus Torvalds7-0/+722
Initial git repository build. I'm not bothering with the full history, even though we have it. We can create a separate "historical" git archive of that later if we want to, and in the meantime it's about 3.2GB when imported into git - space that would just make the early git days unnecessarily complicated, when we don't have a lot of good infrastructure for it. Let it rip!