Commit graph android_kernel_sony_sdm845/arch/arm/oprofile
Message SHA1
[ARM] 5018/1: RealView: Fix the ARM11MPCore Oprofile compilation
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>

Catalin Marinas   authored and   Russell King   commited 2008-04-28 17:03:34 +01:00
fe6cfde600
Driver core: change sysdev classes to use dynamic kobject names
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>

Kay Sievers   authored and   Greg Kroah-Hartman   commited 2008-01-24 20:40:40 -08:00
af5ca3f4ec
Combine instrumentation menus in kernel/Kconfig.instrumentation
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>

Mathieu Desnoyers   authored and   Linus Torvalds   commited 2007-10-19 11:53:54 -07:00
09cadedbdc
[ARM] Solve buggy smp_processor_id() usage
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>

Russell King   commited 2007-06-02 21:31:49 +01:00
f72267c30f
[ARM] oprofile: avoid lockdep warnings on mpcore oprofile init
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>

Russell King   commited 2007-05-30 13:15:15 +01:00
28c670cb9b
[ARM] Add stacktrace support and make oprofile use it
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>

Russell King   commited 2007-04-28 09:59:37 +01:00
f16fb1ecc5
[ARM] 4237/2: oprofile: Always allow backtraces on ARM
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>

Richard Purdie   authored and   Russell King   commited 2007-03-02 11:58:58 +00:00
1b7b56982f
[ARM] oprofile: add ARM11 SMP support
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>

Russell King   commited 2007-02-06 16:46:45 +00:00
10c03f6968
[ARM] oprofile: add ARM11 UP support
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>

Russell King   commited 2007-02-06 16:46:44 +00:00
2d9e1ae06d
[ARM] oprofile: add ARM11 core support
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>

Russell King   commited 2007-02-06 16:46:44 +00:00
c265a762aa
[ARM] Remove OP_MAX_COUNTER
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>

Russell King   commited 2006-11-14 15:15:40 +00:00
aa8d187315
[ARM] Fix fallout from IRQ regs changes
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>

Russell King   commited 2006-10-15 13:48:37 +01:00
2326eb985b
Initial blind fixup for arm for irq changes
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>

Linus Torvalds   commited 2006-10-06 10:59:54 -07:00
0cd61b68c3
[ARM] 3880/1: remove the last trace of iop31x support
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>

Lennert Buytenhek   authored and   Russell King   commited 2006-09-30 11:30:47 +01:00
c5d311c7e9
[ARM] 3832/1: iop3xx: coding style cleanup
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>

Lennert Buytenhek   authored and   Russell King   commited 2006-09-25 10:25:53 +01:00
c852ac8044
[ARM] 3816/1: iop3xx: rename config symbols
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>

Lennert Buytenhek   authored and   Russell King   commited 2006-09-25 10:25:34 +01:00
98954df691
[PATCH] ARM: fixup irqflags breakage after ARM genirq merge
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>

Thomas Gleixner   authored and   Linus Torvalds   commited 2006-07-02 17:29:22 -07:00
52e405eaa9
[ARM] Use kcalloc to allocate counter_config array rather than kmalloc
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>

Russell King   commited 2006-03-21 23:30:02 +00:00
58e9ff5638
[ARM] Oprofile: dynamically allocate counter_config
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>

Russell King   commited 2006-03-21 23:30:02 +00:00
ae92dc9f7b
[ARM] Oprofile: Convert semaphore to mutex
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>

Russell King   commited 2006-03-21 23:30:00 +00:00
93ad79496c
[ARM] 3295/1: Fix oprofile init return value
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>

Russ Dill   authored and   Russell King   commited 2006-02-01 21:07:28 +00:00
7610dfa372
[PATCH] mm: kill check_user_page_readable
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>

Hugh Dickins   authored and   Linus Torvalds   commited 2005-10-29 21:40:41 -07:00
c34d1b4d16
[ARM] 4/4 Combine oprofile common and init code
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>

Russell King   commited 2005-10-28 14:56:04 +01:00
c6b9dafce3
[ARM] 3/4 Rename common oprofile code
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>

Russell King   commited 2005-10-28 14:54:21 +01:00
55f052341f
[ARM] 2/4 Fix oprofile suspend/resume
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>

Russell King   commited 2005-10-28 14:52:30 +01:00
7c5b3fc208
[ARM] 1/4 Move oprofile driver model code
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>

Russell King   commited 2005-10-28 14:51:15 +01:00
b5893c56ca
[PATCH] ARM: 2838/1: Fix arm oprofile backtrace warning
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>

Richard Purdie   authored and   Russell King   commited 2005-08-04 15:06:59 +01:00
c013622d5f
[PATCH] ARM: 2761/1: OProfile: Add call graphing support for arm
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>

Richard Purdie   authored and   Russell King   commited 2005-06-28 21:01:03 +01:00
fa0ebff62a
Linux-2.6.12-rc2
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!

Linus Torvalds   commited 2005-04-16 15:20:36 -07:00
1da177e4c3