diff options
author | Dirk Brandewie <dirk.j.brandewie@intel.com> | 2014-02-12 13:01:03 -0500 |
---|---|---|
committer | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2014-02-12 20:11:18 -0500 |
commit | 709c078e176bd47227e89bb34de7c64b57aaaeab (patch) | |
tree | b7d11870565827e4fb6f56a2e7110f8889c42b87 | |
parent | fcb6a15c2e7e76d493e6f91ea889ab40e1c643a4 (diff) |
intel_pstate: Remove energy reporting from pstate_sample tracepoint
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: b69880f9ccf7 (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>
-rw-r--r-- | drivers/cpufreq/intel_pstate.c | 9 | ||||
-rw-r--r-- | include/trace/events/power.h | 7 |
2 files changed, 1 insertions, 15 deletions
diff --git a/drivers/cpufreq/intel_pstate.c b/drivers/cpufreq/intel_pstate.c index 79606f473f48..c788abf1c457 100644 --- a/drivers/cpufreq/intel_pstate.c +++ b/drivers/cpufreq/intel_pstate.c | |||
@@ -51,8 +51,6 @@ static inline int32_t div_fp(int32_t x, int32_t y) | |||
51 | return div_s64((int64_t)x << FRAC_BITS, (int64_t)y); | 51 | return div_s64((int64_t)x << FRAC_BITS, (int64_t)y); |
52 | } | 52 | } |
53 | 53 | ||
54 | static u64 energy_divisor; | ||
55 | |||
56 | struct sample { | 54 | struct sample { |
57 | int32_t core_pct_busy; | 55 | int32_t core_pct_busy; |
58 | u64 aperf; | 56 | u64 aperf; |
@@ -630,12 +628,10 @@ static void intel_pstate_timer_func(unsigned long __data) | |||
630 | { | 628 | { |
631 | struct cpudata *cpu = (struct cpudata *) __data; | 629 | struct cpudata *cpu = (struct cpudata *) __data; |
632 | struct sample *sample; | 630 | struct sample *sample; |
633 | u64 energy; | ||
634 | 631 | ||
635 | intel_pstate_sample(cpu); | 632 | intel_pstate_sample(cpu); |
636 | 633 | ||
637 | sample = &cpu->samples[cpu->sample_ptr]; | 634 | sample = &cpu->samples[cpu->sample_ptr]; |
638 | rdmsrl(MSR_PKG_ENERGY_STATUS, energy); | ||
639 | 635 | ||
640 | intel_pstate_adjust_busy_pstate(cpu); | 636 | intel_pstate_adjust_busy_pstate(cpu); |
641 | 637 | ||
@@ -644,7 +640,6 @@ static void intel_pstate_timer_func(unsigned long __data) | |||
644 | cpu->pstate.current_pstate, | 640 | cpu->pstate.current_pstate, |
645 | sample->mperf, | 641 | sample->mperf, |
646 | sample->aperf, | 642 | sample->aperf, |
647 | div64_u64(energy, energy_divisor), | ||
648 | sample->freq); | 643 | sample->freq); |
649 | 644 | ||
650 | intel_pstate_set_sample_time(cpu); | 645 | intel_pstate_set_sample_time(cpu); |
@@ -926,7 +921,6 @@ static int __init intel_pstate_init(void) | |||
926 | int cpu, rc = 0; | 921 | int cpu, rc = 0; |
927 | const struct x86_cpu_id *id; | 922 | const struct x86_cpu_id *id; |
928 | struct cpu_defaults *cpu_info; | 923 | struct cpu_defaults *cpu_info; |
929 | u64 units; | ||
930 | 924 | ||
931 | if (no_load) | 925 | if (no_load) |
932 | return -ENODEV; | 926 | return -ENODEV; |
@@ -960,9 +954,6 @@ static int __init intel_pstate_init(void) | |||
960 | if (rc) | 954 | if (rc) |
961 | goto out; | 955 | goto out; |
962 | 956 | ||
963 | rdmsrl(MSR_RAPL_POWER_UNIT, units); | ||
964 | energy_divisor = 1 << ((units >> 8) & 0x1f); /* bits{12:8} */ | ||
965 | |||
966 | intel_pstate_debug_expose_params(); | 957 | intel_pstate_debug_expose_params(); |
967 | intel_pstate_sysfs_expose_params(); | 958 | intel_pstate_sysfs_expose_params(); |
968 | 959 | ||
diff --git a/include/trace/events/power.h b/include/trace/events/power.h index 9e9475c85de5..e5bf9a76f169 100644 --- a/include/trace/events/power.h +++ b/include/trace/events/power.h | |||
@@ -42,7 +42,6 @@ TRACE_EVENT(pstate_sample, | |||
42 | u32 state, | 42 | u32 state, |
43 | u64 mperf, | 43 | u64 mperf, |
44 | u64 aperf, | 44 | u64 aperf, |
45 | u32 energy, | ||
46 | u32 freq | 45 | u32 freq |
47 | ), | 46 | ), |
48 | 47 | ||
@@ -51,7 +50,6 @@ TRACE_EVENT(pstate_sample, | |||
51 | state, | 50 | state, |
52 | mperf, | 51 | mperf, |
53 | aperf, | 52 | aperf, |
54 | energy, | ||
55 | freq | 53 | freq |
56 | ), | 54 | ), |
57 | 55 | ||
@@ -61,7 +59,6 @@ TRACE_EVENT(pstate_sample, | |||
61 | __field(u32, state) | 59 | __field(u32, state) |
62 | __field(u64, mperf) | 60 | __field(u64, mperf) |
63 | __field(u64, aperf) | 61 | __field(u64, aperf) |
64 | __field(u32, energy) | ||
65 | __field(u32, freq) | 62 | __field(u32, freq) |
66 | 63 | ||
67 | ), | 64 | ), |
@@ -72,17 +69,15 @@ TRACE_EVENT(pstate_sample, | |||
72 | __entry->state = state; | 69 | __entry->state = state; |
73 | __entry->mperf = mperf; | 70 | __entry->mperf = mperf; |
74 | __entry->aperf = aperf; | 71 | __entry->aperf = aperf; |
75 | __entry->energy = energy; | ||
76 | __entry->freq = freq; | 72 | __entry->freq = freq; |
77 | ), | 73 | ), |
78 | 74 | ||
79 | TP_printk("core_busy=%lu scaled=%lu state=%lu mperf=%llu aperf=%llu energy=%lu freq=%lu ", | 75 | TP_printk("core_busy=%lu scaled=%lu state=%lu mperf=%llu aperf=%llu freq=%lu ", |
80 | (unsigned long)__entry->core_busy, | 76 | (unsigned long)__entry->core_busy, |
81 | (unsigned long)__entry->scaled_busy, | 77 | (unsigned long)__entry->scaled_busy, |
82 | (unsigned long)__entry->state, | 78 | (unsigned long)__entry->state, |
83 | (unsigned long long)__entry->mperf, | 79 | (unsigned long long)__entry->mperf, |
84 | (unsigned long long)__entry->aperf, | 80 | (unsigned long long)__entry->aperf, |
85 | (unsigned long)__entry->energy, | ||
86 | (unsigned long)__entry->freq | 81 | (unsigned long)__entry->freq |
87 | ) | 82 | ) |
88 | 83 | ||