Skip to content

Commit

Permalink
intel_pstate: Remove energy reporting from pstate_sample tracepoint
Browse files Browse the repository at this point in the history
Remove the reporting of energy since it does not provide any useful
information about the state of the driver and will be a maintainance
headache going forward since the RAPL energy units register is not
architectural and subject to change between micro-architectures

References: https://bugzilla.kernel.org/show_bug.cgi?id=69831
Fixes: b69880f (intel_pstate: Add trace point to report internal state.)
Signed-off-by: Dirk Brandewie <dirk.j.brandewie@intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  • Loading branch information
Dirk Brandewie authored and Rafael J. Wysocki committed Feb 13, 2014
1 parent fcb6a15 commit 709c078
Showing 2 changed files with 1 addition and 15 deletions.
9 changes: 0 additions & 9 deletions drivers/cpufreq/intel_pstate.c
Original file line number Diff line number Diff line change
@@ -51,8 +51,6 @@ static inline int32_t div_fp(int32_t x, int32_t y)
return div_s64((int64_t)x << FRAC_BITS, (int64_t)y);
}

static u64 energy_divisor;

struct sample {
int32_t core_pct_busy;
u64 aperf;
@@ -630,12 +628,10 @@ static void intel_pstate_timer_func(unsigned long __data)
{
struct cpudata *cpu = (struct cpudata *) __data;
struct sample *sample;
u64 energy;

intel_pstate_sample(cpu);

sample = &cpu->samples[cpu->sample_ptr];
rdmsrl(MSR_PKG_ENERGY_STATUS, energy);

intel_pstate_adjust_busy_pstate(cpu);

@@ -644,7 +640,6 @@ static void intel_pstate_timer_func(unsigned long __data)
cpu->pstate.current_pstate,
sample->mperf,
sample->aperf,
div64_u64(energy, energy_divisor),
sample->freq);

intel_pstate_set_sample_time(cpu);
@@ -926,7 +921,6 @@ static int __init intel_pstate_init(void)
int cpu, rc = 0;
const struct x86_cpu_id *id;
struct cpu_defaults *cpu_info;
u64 units;

if (no_load)
return -ENODEV;
@@ -960,9 +954,6 @@ static int __init intel_pstate_init(void)
if (rc)
goto out;

rdmsrl(MSR_RAPL_POWER_UNIT, units);
energy_divisor = 1 << ((units >> 8) & 0x1f); /* bits{12:8} */

intel_pstate_debug_expose_params();
intel_pstate_sysfs_expose_params();

7 changes: 1 addition & 6 deletions include/trace/events/power.h
Original file line number Diff line number Diff line change
@@ -42,7 +42,6 @@ TRACE_EVENT(pstate_sample,
u32 state,
u64 mperf,
u64 aperf,
u32 energy,
u32 freq
),

@@ -51,7 +50,6 @@ TRACE_EVENT(pstate_sample,
state,
mperf,
aperf,
energy,
freq
),

@@ -61,7 +59,6 @@ TRACE_EVENT(pstate_sample,
__field(u32, state)
__field(u64, mperf)
__field(u64, aperf)
__field(u32, energy)
__field(u32, freq)

),
@@ -72,17 +69,15 @@ TRACE_EVENT(pstate_sample,
__entry->state = state;
__entry->mperf = mperf;
__entry->aperf = aperf;
__entry->energy = energy;
__entry->freq = freq;
),

TP_printk("core_busy=%lu scaled=%lu state=%lu mperf=%llu aperf=%llu energy=%lu freq=%lu ",
TP_printk("core_busy=%lu scaled=%lu state=%lu mperf=%llu aperf=%llu freq=%lu ",
(unsigned long)__entry->core_busy,
(unsigned long)__entry->scaled_busy,
(unsigned long)__entry->state,
(unsigned long long)__entry->mperf,
(unsigned long long)__entry->aperf,
(unsigned long)__entry->energy,
(unsigned long)__entry->freq
)

0 comments on commit 709c078

Please sign in to comment.