summaryrefslogtreecommitdiffstats
path: root/arch/arm/oprofile
Commit message (Collapse)AuthorAgeFilesLines
* [ARM] Solve buggy smp_processor_id() usageRussell King2007-06-021-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>
* [ARM] oprofile: avoid lockdep warnings on mpcore oprofile initRussell King2007-05-301-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>
* [ARM] Add stacktrace support and make oprofile use itRussell King2007-04-281-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>
* [ARM] 4237/2: oprofile: Always allow backtraces on ARMRichard Purdie2007-03-021-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>
* [ARM] oprofile: add ARM11 SMP supportRussell King2007-02-066-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>
* [ARM] oprofile: add ARM11 UP supportRussell King2007-02-065-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>
* [ARM] oprofile: add ARM11 core supportRussell King2007-02-064-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>
* [ARM] Remove OP_MAX_COUNTERRussell King2006-11-141-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>
* [ARM] Fix fallout from IRQ regs changesRussell King2006-10-151-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>
* Initial blind fixup for arm for irq changesLinus Torvalds2006-10-061-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>
* [ARM] 3880/1: remove the last trace of iop31x supportLennert Buytenhek2006-09-301-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>
* [ARM] 3832/1: iop3xx: coding style cleanupLennert Buytenhek2006-09-251-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>
* [ARM] 3816/1: iop3xx: rename config symbolsLennert Buytenhek2006-09-251-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>
* [PATCH] ARM: fixup irqflags breakage after ARM genirq mergeThomas Gleixner2006-07-021-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>
* [ARM] Use kcalloc to allocate counter_config array rather than kmallocRussell King2006-03-211-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>
* [ARM] Oprofile: dynamically allocate counter_configRussell King2006-03-212-3/+10
| | | | Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] Oprofile: Convert semaphore to mutexRussell King2006-03-211-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>
* [ARM] 3295/1: Fix oprofile init return valueRuss Dill2006-02-011-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>
* [PATCH] mm: kill check_user_page_readableHugh Dickins2005-10-291-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>
* [ARM] 4/4 Combine oprofile common and init codeRussell King2005-10-283-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>
* [ARM] 3/4 Rename common oprofile codeRussell King2005-10-283-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>
* [ARM] 2/4 Fix oprofile suspend/resumeRussell King2005-10-281-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>
* [ARM] 1/4 Move oprofile driver model codeRussell King2005-10-281-52/+47
| | | | Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [PATCH] ARM: 2838/1: Fix arm oprofile backtrace warningRichard Purdie2005-08-041-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>
* [PATCH] ARM: 2761/1: OProfile: Add call graphing support for armRichard Purdie2005-06-284-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>
* Linux-2.6.12-rc2v2.6.12-rc2Linus Torvalds2005-04-167-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!
OpenPOWER on IntegriCloud