git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
vserver 1.9.5.x5
[linux-2.6.git]
/
arch
/
i386
/
oprofile
/
op_model_p4.c
diff --git
a/arch/i386/oprofile/op_model_p4.c
b/arch/i386/oprofile/op_model_p4.c
index
1b3626d
..
ac8a066
100644
(file)
--- a/
arch/i386/oprofile/op_model_p4.c
+++ b/
arch/i386/oprofile/op_model_p4.c
@@
-619,14
+619,11
@@
static void p4_setup_ctrs(struct op_msrs const * const msrs)
}
}
-static int p4_check_ctrs(unsigned int const cpu,
- struct op_msrs const * const msrs,
- struct pt_regs * const regs)
+static int p4_check_ctrs(struct pt_regs * const regs,
+ struct op_msrs const * const msrs)
{
unsigned long ctr, low, high, stag, real;
int i;
{
unsigned long ctr, low, high, stag, real;
int i;
- unsigned long eip = profile_pc(regs);
- int is_kernel = !user_mode(regs);
stag = get_stagger();
stag = get_stagger();
@@
-657,7
+654,7
@@
static int p4_check_ctrs(unsigned int const cpu,
CCCR_READ(low, high, real);
CTR_READ(ctr, high, real);
if (CCCR_OVF_P(low) || CTR_OVERFLOW_P(ctr)) {
CCCR_READ(low, high, real);
CTR_READ(ctr, high, real);
if (CCCR_OVF_P(low) || CTR_OVERFLOW_P(ctr)) {
- oprofile_add_sample(
eip, is_kernel, i, cpu
);
+ oprofile_add_sample(
regs, i
);
CTR_WRITE(reset_value[i], real);
CCCR_CLEAR_OVF(low);
CCCR_WRITE(low, high, real);
CTR_WRITE(reset_value[i], real);
CCCR_CLEAR_OVF(low);
CCCR_WRITE(low, high, real);