Messages in this thread | | | From | Robert Richter <> | Subject | [PATCH 0/9] oprofile, perf, x86: introduce new functions to reserve perfctrs | Date | Thu, 4 Mar 2010 16:22:02 +0100 |
| |
This patch set improves the perfctr reservation code. New functions are available to reserve a counter by its index only. It is no longer necessary to allocate both msrs of a counter which also improves the code and makes it easier.
For oprofile a handler is implemented that returns an error now if a counter is already reserved by a different subsystem such as perf or watchdog. Before, oprofile silently ignored that counter. Finally the new reservation functions can be used to allocate special parts of the pmu such as IBS, which is necessary to use IBS with perf too.
The patches are available in the oprofile tree:
git://git.kernel.org/pub/scm/linux/kernel/git/rric/oprofile.git core
If there are no objections, I suggest to merge it into the tip/perf/core too, maybe after pending patches went in. If there are already conflicts, I will do the merge for this.
See enclose changelog.
-Robert
The following changes since commit bb1165d6882f423f90fc7007a88c6c993b7c2ac4: Robert Richter (1): perf, x86: rename macro in ARCH_PERFMON_EVENTSEL_ENABLE
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/rric/oprofile.git core
Robert Richter (9): perf, x86: reduce number of CONFIG_X86_LOCAL_APIC macros oprofile, perf, x86: do not allocate evntsel counter msr oprofile, perf, x86: introduce new functions to reserve perfctrs by index tsc, x86: use new perfctr reservation functions in tsc code perf, x86: use new perfctr reservation functions in perf code oprofile/x86: rework error handler in nmi_setup() oprofile/x86: return -EBUSY if counters are already reserved oprofile/x86: group IBS code oprofile/x86: implement perfctr reservation for IBS
arch/x86/include/asm/nmi.h | 2 + arch/x86/include/asm/perf_event.h | 3 + arch/x86/kernel/cpu/perf_event.c | 36 ++--- arch/x86/kernel/cpu/perfctr-watchdog.c | 35 +++-- arch/x86/kernel/tsc.c | 8 +- arch/x86/oprofile/nmi_int.c | 38 +++-- arch/x86/oprofile/op_model_amd.c | 277 ++++++++++++++++++-------------- arch/x86/oprofile/op_model_p4.c | 15 ++- arch/x86/oprofile/op_model_ppro.c | 23 ++-- arch/x86/oprofile/op_x86_model.h | 2 +- 10 files changed, 248 insertions(+), 191 deletions(-)
| |