- Oct 11, 2010
-
-
Robert Richter authored
This patch simplifies op_create_counter(). Removing if/else if paths and return code variable by direct returning from function. Acked-by:
Will Deacon <will.deacon@arm.com> Signed-off-by:
Robert Richter <robert.richter@amd.com>
-
Robert Richter authored
This patch removes some unnecessary goto statements. Acked-by:
Will Deacon <will.deacon@arm.com> Signed-off-by:
Robert Richter <robert.richter@amd.com>
-
Robert Richter authored
This patch fixes a resource leak on failure, where the oprofilefs and some counters may not released properly. Signed-off-by:
Robert Richter <robert.richter@amd.com> Acked-by:
Will Deacon <will.deacon@arm.com> Cc: linux-arm-kernel@lists.infradead.org Cc: <stable@kernel.org> # .35.x LKML-Reference: <20100929145225.GJ13563@erda.amd.com> Signed-off-by:
Ingo Molnar <mingo@elte.hu>
-
Matt Fleming authored
Move the perf-events backend from arch/arm/oprofile into drivers/oprofile so that the code can be shared between architectures. This allows each architecture to maintain only a single copy of the PMU accessor functions instead of one for both perf and OProfile. It also becomes possible for other architectures to delete much of their OProfile code in favour of the common code now available in drivers/oprofile/oprofile_perf.c. Signed-off-by:
Matt Fleming <matt@console-pimps.org> Tested-by:
Will Deacon <will.deacon@arm.com> Signed-off-by:
Robert Richter <robert.richter@amd.com>
-
Matt Fleming authored
In preparation for moving the majority of this oprofile code into an architecture-neutral place separate the architecture-independent code into oprofile_perf_init() and oprofile_perf_exit(). Signed-off-by:
Matt Fleming <matt@console-pimps.org> Tested-by:
Will Deacon <will.deacon@arm.com> Signed-off-by:
Robert Richter <robert.richter@amd.com>
-
Matt Fleming authored
In preparation for moving the generic functions out of this file, give the functions more general names (e.g. remove "arm" from the names). Signed-off-by:
Matt Fleming <matt@console-pimps.org> Tested-by:
Will Deacon <will.deacon@arm.com> Signed-off-by:
Robert Richter <robert.richter@amd.com>
-
Matt Fleming authored
Make op_name_from_perf_id() global so that we have a way for each architecture to construct an oprofile name for op->cpu_type. We need to remove the argument from the function prototype so that we can hide all implementation details inside the function. Signed-off-by:
Matt Fleming <matt@console-pimps.org> Signed-off-by:
Robert Richter <robert.richter@amd.com>
-
Matt Fleming authored
The number of counters for the registered pmu is needed in a few places so provide a helper function that returns this number. Signed-off-by:
Matt Fleming <matt@console-pimps.org> Tested-by:
Will Deacon <will.deacon@arm.com> Acked-by:
Paul Mundt <lethal@linux-sh.org> Acked-by:
Peter Zijlstra <a.p.zijlstra@chello.nl> Signed-off-by:
Robert Richter <robert.richter@amd.com>
-
- Sep 30, 2010
-
-
Robert Richter authored
This patch fixes a resource leak on failure, where the oprofilefs and some counters may not released properly. Signed-off-by:
Robert Richter <robert.richter@amd.com> Acked-by:
Will Deacon <will.deacon@arm.com> Cc: linux-arm-kernel@lists.infradead.org Cc: <stable@kernel.org> # .35.x LKML-Reference: <20100929145225.GJ13563@erda.amd.com> Signed-off-by:
Ingo Molnar <mingo@elte.hu>
-
- Aug 31, 2010
-
-
Robert Richter authored
The pointers must be NULL'ed to avoid double-freeing the pointers in rare cases during reinitialization. Signed-off-by:
Robert Richter <robert.richter@amd.com>
-
Will Deacon authored
Now that oprofile_arch_exit is only called when the OProfile module is unloaded, it can assume that init completed successfully and not have to worry about double frees or releasing NULL perf events. This patch ensures that oprofile_arch_init fails gracefully on ARM and simplifies the exit code based on the above. Cc: Robert Richter <robert.richter@amd.com> Cc: Matt Fleming <matt@console-pimps.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Ingo Molnar <mingo@elte.hu> Signed-off-by:
Will Deacon <will.deacon@arm.com> Signed-off-by:
Robert Richter <robert.richter@amd.com>
-
- May 17, 2010
-
-
Will Deacon authored
This is a reworking of an original patch posted by Aaro Koskinen: oprofile does not work with PM, because sysdev_suspend() is done with interrupts disabled and oprofile needs a mutex. Implementing oprofile as a platform device solves this problem. Cc: Aaro Koskinen <aaro.koskinen@nokia.com> Signed-off-by:
Will Deacon <will.deacon@arm.com> Signed-off-by:
Aaro Koskinen <aaro.koskinen@nokia.com> Signed-off-by:
Russell King <rmk+kernel@arm.linux.org.uk>
-
Will Deacon authored
There are currently two hardware performance monitoring subsystems in the kernel for ARM: OProfile and perf-events. This creates the following problems: 1.) Duplicate PMU accessor code. Inevitable code drift may lead to bugs in one framework that are fixed in the other. 2.) Locking issues. OProfile doesn't reprogram hardware counters between profiling runs if the events to be monitored have not been changed. This means that other profiling frameworks cannot use the counters if OProfile is in use. 3.) Due to differences in the two frameworks, it may not be possible to compare the results obtained by OProfile with those obtained by perf. This patch removes the OProfile PMU driver code and replaces it with calls to perf, therefore solving the issues mentioned above. The only userspace-visible change is the lack of SCU counter support for 11MPCore. This is currently unsupported by OProfile userspace tools anyway and therefore shouldn't cause any problems. Cc: Ingo Molnar <mingo@elte.hu> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Robert Richter <robert.richter@amd.com> Cc: Jamie Iles <jamie.iles@picochip.com> Cc: Jean Pihet <jpihet@mvista.com> Signed-off-by:
Will Deacon <will.deacon@arm.com> Signed-off-by:
Russell King <rmk+kernel@arm.linux.org.uk>
-
- Sep 01, 2008
-
-
Jean PIHET authored
Add Oprofile kernel support for ARMv7. Tested on OMAP3430 and OMAP3530 chipsets (Cortex-A8). Signed-off-by:
Jean Pihet <jpihet@mvista.com> Signed-off-by:
Russell King <rmk+kernel@arm.linux.org.uk>
-
- Jan 24, 2008
-
-
Kay Sievers authored
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>
-
- Mar 02, 2007
-
-
Richard Purdie authored
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>
-
- Feb 06, 2007
-
-
Russell King authored
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 authored
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>
-
- Mar 21, 2006
-
-
Russell King authored
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 authored
Signed-off-by:
Russell King <rmk+kernel@arm.linux.org.uk>
-
Russell King authored
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>
-
- Feb 01, 2006
-
-
Russ Dill authored
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>
-
- Oct 28, 2005
-
-
Russell King authored
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 authored
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 authored
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 authored
Signed-off-by:
Russell King <rmk+kernel@arm.linux.org.uk>
-
- Apr 16, 2005
-
-
Linus Torvalds authored
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!
-