summaryrefslogtreecommitdiff
path: root/arch/sh/oprofile
AgeCommit message (Collapse)Author
2011-12-23oprofile, arm/sh: Fix oprofile_arch_exit() linkage issueVladimir Zapolskiy
This change fixes a linking problem, which happens if oprofile is selected to be compiled as built-in: `oprofile_arch_exit' referenced in section `.init.text' of arch/arm/oprofile/built-in.o: defined in discarded section `.exit.text' of arch/arm/oprofile/built-in.o The problem is appeared after commit 87121ca504, which introduced oprofile_arch_exit() calls from __init function. Note that the aforementioned commit has been backported to stable branches, and the problem is known to be reproduced at least with 3.0.13 and 3.1.5 kernels. Signed-off-by: Vladimir Zapolskiy <vladimir.zapolskiy@nokia.com> Signed-off-by: Robert Richter <robert.richter@amd.com> Cc: Will Deacon <will.deacon@arm.com> Cc: oprofile-list <oprofile-list@lists.sourceforge.net> Cc: <stable@kernel.org> Link: http://lkml.kernel.org/r/20111222151540.GB16765@erda.amd.com Signed-off-by: Ingo Molnar <mingo@elte.hu>
2011-05-23sh: remove warning and warning_symbol from struct stacktrace_opsRichard Weinberger
Both warning and warning_symbol are nowhere used. Let's get rid of them. Signed-off-by: Richard Weinberger <richard@nod.at> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2010-10-27sh: oprofile: Make sure the backtrace op is available for timer-fallback.Paul Mundt
Presently with hardware counter support disabled the backtrace op never gets initialized. This is a regression over the previous behaviour, so simply add it back in. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2010-10-27sh64: oprofile: Fix up kernel stack pointer size mismatch.Paul Mundt
For the backtrace code its assumed that the stack pointer is 32-bits, which is not the case with the sh64 registers. Use the shared kernel_stack_pointer() helper to get at the actual register, which already takes care of the necessary typecasting. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2010-10-27sh: oprofile: Fix up and extend op_name_from_perf_id().Paul Mundt
op_name_from_perf_id() currently returns a local variable, which isn't terribly productive. As we only handle a single PMU case for now, simply allocate and free the string from the arch init/exit context and have op_name_from_perf_id() hand back the cached string. This also takes UTS_MACHINE in to account, given that we build for multiple architectures. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2010-10-11sh: oprofile: Use perf-events oprofile backendMatt Fleming
Now that we've got a generic perf-events based oprofile backend we might as well make use of it seeing as SH doesn't do anything special with its oprofile backend. Also introduce a new CONFIG_HW_PERF_EVENTS symbol so that we can fallback to using the timer interrupt for oprofile if the CPU doesn't support perf events. Also, to avoid a section mismatch warning we need to annotate oprofile_arch_exit() with an __exit marker. Signed-off-by: Matt Fleming <matt@console-pimps.org> Acked-by: Paul Mundt <lethal@linux-sh.org> Signed-off-by: Robert Richter <robert.richter@amd.com>
2009-11-05sh: oprofile: Fix up count size mismatch for common impl.Paul Mundt
This reduces the 'count' size in the common support structure to 32-bits so that it matches up with what oprofile is expecting. The SH7750 code was using a nasty oprofilefs hack to expose the 48-bit counter, although no other implementations were. Now that the offending driver has been killed off, it's possible to restore some semblance of sanity. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2009-11-05sh: oprofile: Kill off bitrotted SH7750 driver.Paul Mundt
This kills off the old SH7750 oprofile driver, preferring perf instead. As this driver has a number of bugs that no one seems to have noticed, it's safe to kill this off now rather than providing an extended transition period. The old oprofile framework is still kept in place for now, primarily to give out-of-tree drivers a chance to transition off. But this too will be killed off in short order. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2009-08-13sh: oprofile: Kill off dead valid_kernel_stack().Paul Mundt
This is no longer used, kill it off. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2009-08-13sh: Use the new stack unwinder APIMatt Fleming
Instead of implementing our own stack unwinder via dump_trace() we should use the new stack unwinder API because it is more modular. This change allows us to decouple the interface for generating stacktraces from the implementation of a stack unwinder. Signed-off-by: Matt Fleming <matt@console-pimps.org> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2009-08-13sh: Use the generalized stacktrace opsMatt Fleming
Copy the stacktrace ops code from x86 and provide a central function for use by functions that need to dump a callstack. Signed-off-by: Matt Fleming <matt@console-pimps.org> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2009-04-16sh: Add support for SH7724 (SH-Mobile R2R) CPU subtype.Kuninori Morimoto
This implements initial support for the SH-Mobile R2R CPU. Based on Rev 0.11 of the initial SH7724 hardware manual. Signed-off-by: Kuninori Morimoto <morimoto.kuninori@renesas.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2009-03-03sh: Add support for SH7786 CPU subtype.Kuninori Morimoto
This adds preliminary support for the SH7786 CPU subtype. While this is a dual-core CPU, only UP is supported for now. L2 cache support is likewise not yet implemented. More information on this particular CPU subtype is available at: http://www.renesas.com/fmwk.jsp?cnt=sh7786_root.jsp&fp=/products/mpumcu/superh_family/sh7780_series/sh7786_group/ Signed-off-by: Kuninori Morimoto <morimoto.kuninori@renesas.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-12-22sh: oprofile: Fix up the module build.Paul Mundt
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-12-22sh: oprofile: Convert op_model_sh7750 to new common interface.Paul Mundt
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-12-22sh: oprofile: Backtrace support.Dave Peverley
This patch improves the oprofile support on sh and adds backtrace support. Signed-off-by: Dave Peverley <dpeverley@mpc-data.co.uk> Signed-off-by: Chris Smith <chris.smith@st.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-12-22sh: oprofile: Refactor common setup code for multiple driver support.Paul Mundt
This re-implements the old op_model_null code in to something more generic, where multiple drivers, backtrace, etc. can all be interfaced. Based largely on arch/mips/oprofile/common.c. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-12-22sh: Disable -Werror for arch/sh/oprofile/.Paul Mundt
drivers/oprofile/ objects have proven to be problematic in this regard, so simply disable -Werror for now. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-10-27sh: oprofile: Fix up the SH7750 performance counter name.Paul Mundt
Rather than varying this on a subtype level, we use the counter type as a generic identifier. This simplifies logic in the userspace tools where no fundamental difference exists across the various subtypes. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-11-07sh: Add -Werror for clean directories.Paul Mundt
Follow the MIPS and sparc64 changes for -Werror instrumentation. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-10-30sh: Make SH7750 oprofile compile again.Paul Mundt
Converts from the profile notifier to the timer hook. Follows the generic timer interrupt-based change. This really wants to be converted to perfmon.. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-10-19Combine instrumentation menus in kernel/Kconfig.instrumentationMathieu Desnoyers
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-02-13sh: Fixup cpu_data references for the non-boot CPUs.Paul Mundt
There are a lot of bogus cpu_data-> references that only end up working for the boot CPU, convert these to current_cpu_data to fixup SMP. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-02-12[PATCH] mark struct file_operations const 2Arjan van de Ven
Many struct file_operations in the kernel can be "const". Marking them const moves these to the .rodata section, which avoids false sharing with potential dirty data. In addition it'll catch accidental writes at compile time to these shared resources. [akpm@osdl.org: sparc64 fix] Signed-off-by: Arjan van de Ven <arjan@linux.intel.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2006-12-08[PATCH] struct path: convert shJosef Sipek
Signed-off-by: Josef Sipek <jsipek@fsl.cs.sunysb.edu> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-09-27sh: Add SH7750S/SH7091 rules for SH7750 oprofile driver.Paul Mundt
Update oprofile build rules for additional subtypes, particularly SH7750S/SH7091. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2006-06-26[PATCH] oprofile: Fix unnecessary clevernessMarkus Armbruster
nmi_create_files() in arch/i386/oprofile/nmi_int.c depends on model->num_counters (number of performance counters) being less than 10. While this is currently the case, it's too clever by half. Other archs aren't quite as clever: they assume 100. I suggest to normalize them all to 1000. Cc: Philippe Elie <phil.el@wanadoo.fr> Cc: John Levon <levon@movementarian.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-04-16Linux-2.6.12-rc2Linus Torvalds
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!