mirror of
https://github.com/torvalds/linux.git
synced 2024-12-27 05:11:48 +00:00
[PATCH] oprofile: ppro: need to enable/disable all the counters
Need to enable/disable all the counters instead of just counter 0. This affects all cpus with family=6, including i386/core. Usual symptom: only counter 0 provides samples. Other counters don't produce samples. Signed-off-by: Arun Sharma <arun.sharma@google.com> 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>
This commit is contained in:
parent
50462062a0
commit
6b77df08a3
@ -138,11 +138,14 @@ static int ppro_check_ctrs(struct pt_regs * const regs,
|
||||
static void ppro_start(struct op_msrs const * const msrs)
|
||||
{
|
||||
unsigned int low,high;
|
||||
int i;
|
||||
|
||||
if (reset_value[0]) {
|
||||
CTRL_READ(low, high, msrs, 0);
|
||||
CTRL_SET_ACTIVE(low);
|
||||
CTRL_WRITE(low, high, msrs, 0);
|
||||
for (i = 0; i < NUM_COUNTERS; ++i) {
|
||||
if (reset_value[i]) {
|
||||
CTRL_READ(low, high, msrs, i);
|
||||
CTRL_SET_ACTIVE(low);
|
||||
CTRL_WRITE(low, high, msrs, i);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -150,11 +153,14 @@ static void ppro_start(struct op_msrs const * const msrs)
|
||||
static void ppro_stop(struct op_msrs const * const msrs)
|
||||
{
|
||||
unsigned int low,high;
|
||||
int i;
|
||||
|
||||
if (reset_value[0]) {
|
||||
CTRL_READ(low, high, msrs, 0);
|
||||
for (i = 0; i < NUM_COUNTERS; ++i) {
|
||||
if (!reset_value[i])
|
||||
continue;
|
||||
CTRL_READ(low, high, msrs, i);
|
||||
CTRL_SET_INACTIVE(low);
|
||||
CTRL_WRITE(low, high, msrs, 0);
|
||||
CTRL_WRITE(low, high, msrs, i);
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user