power: fix max frequency after turbo disabling
authorLee Daly <lee.daly@intel.com>
Fri, 12 Apr 2019 15:57:27 +0000 (16:57 +0100)
committerThomas Monjalon <thomas@monjalon.net>
Mon, 22 Apr 2019 22:15:09 +0000 (00:15 +0200)
This patch will ensure the correct max frequency of a core is set in
the lcore_power_info struct when disabling turbo, while using the
intel pstate driver.

Fixes: e6c6dc0f96c8 ("power: add p-state driver compatibility")
Cc: stable@dpdk.org
Signed-off-by: Lee Daly <lee.daly@intel.com>
Acked-by: David Hunt <david.hunt@intel.com>
Acked-by: Liang Ma <liang.j.ma@intel.com>
lib/librte_power/power_pstate_cpufreq.c

index 336c138..c2c4e8e 100644 (file)
@@ -810,6 +810,15 @@ power_pstate_disable_turbo(unsigned int lcore_id)
 
        pi->turbo_enable = 0;
 
+       if (pi->turbo_available && pi->curr_idx <= 1) {
+               /* Try to set freq to max by default coming out of turbo */
+               if (power_pstate_cpufreq_freq_max(lcore_id) < 0) {
+                       RTE_LOG(ERR, POWER,
+                               "Failed to set frequency of lcore %u to max\n",
+                               lcore_id);
+                       return -1;
+               }
+       }
 
        return 0;
 }