Skip to content

Commit

Permalink
intel_pstate: Move intel_pstate_calc_busy() into get_target_pstate_us…
Browse files Browse the repository at this point in the history
…e_performance()

The cpu_load algorithm doesn't need to invoke intel_pstate_calc_busy(),
so move that call from intel_pstate_sample() to
get_target_pstate_use_performance().

Signed-off-by: Philippe Longepe <[email protected]>
Acked-by: Srinivas Pandruvada <[email protected]>
Signed-off-by: Rafael J. Wysocki <[email protected]>
  • Loading branch information
Philippe Longepe authored and rafaeljw committed Mar 10, 2016
1 parent a158bed commit 7349ec0
Showing 1 changed file with 2 additions and 3 deletions.
5 changes: 2 additions & 3 deletions drivers/cpufreq/intel_pstate.c
Original file line number Diff line number Diff line change
Expand Up @@ -915,8 +915,6 @@ static inline void intel_pstate_sample(struct cpudata *cpu, u64 time)
cpu->sample.mperf -= cpu->prev_mperf;
cpu->sample.tsc -= cpu->prev_tsc;

intel_pstate_calc_busy(cpu);

cpu->prev_aperf = aperf;
cpu->prev_mperf = mperf;
cpu->prev_tsc = tsc;
Expand Down Expand Up @@ -945,7 +943,6 @@ static inline int32_t get_target_pstate_use_cpu_load(struct cpudata *cpu)
mperf = cpu->sample.mperf + delta_iowait_mperf;
cpu->prev_cummulative_iowait = cummulative_iowait;


/*
* The load can be estimated as the ratio of the mperf counter
* running at a constant frequency during active periods
Expand All @@ -963,6 +960,8 @@ static inline int32_t get_target_pstate_use_performance(struct cpudata *cpu)
int32_t core_busy, max_pstate, current_pstate, sample_ratio;
u64 duration_ns;

intel_pstate_calc_busy(cpu);

/*
* core_busy is the ratio of actual performance to max
* max_pstate is the max non turbo pstate available
Expand Down

0 comments on commit 7349ec0

Please sign in to comment.