[v1,1/1] power: do not skip saving original acpi governor
Checks
Commit Message
Currently, when we set the acpi governor to "userspace", we check if
it is already set to this value, and if it is, we skip setting it.
However, we never save this value anywhere, so that next time we come
back and request the governor to be set to its original value, the
original value is empty.
Fix it by saving the original pstate governor first. While we're at it,
replace `strlcpy` with `rte_strscpy`.
Fixes: 445c6528b55f ("power: common interface for guest and host")
Cc: david.hunt@intel.com
Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
---
lib/power/power_acpi_cpufreq.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
Comments
> -----Original Message-----
> From: dev <dev-bounces@dpdk.org> On Behalf Of Anatoly Burakov
> + /* Save the original governor */
> + rte_strscpy(pi->governor_ori, buf, sizeof(pi->governor_ori));
> +
Acked-by: Reshma Pattan <reshma.pattan@intel.com>
28/04/2021 17:41, Pattan, Reshma:
>
> > -----Original Message-----
> > From: dev <dev-bounces@dpdk.org> On Behalf Of Anatoly Burakov
> > + /* Save the original governor */
> > + rte_strscpy(pi->governor_ori, buf, sizeof(pi->governor_ori));
> > +
>
> Acked-by: Reshma Pattan <reshma.pattan@intel.com>
Applied, thanks
@@ -152,6 +152,9 @@ power_set_governor_userspace(struct rte_power_info *pi)
/* Strip off terminating '\n' */
strtok(buf, "\n");
+ /* Save the original governor */
+ rte_strscpy(pi->governor_ori, buf, sizeof(pi->governor_ori));
+
/* Check if current governor is userspace */
if (strncmp(buf, POWER_GOVERNOR_USERSPACE,
sizeof(POWER_GOVERNOR_USERSPACE)) == 0) {
@@ -160,8 +163,6 @@ power_set_governor_userspace(struct rte_power_info *pi)
"already userspace\n", pi->lcore_id);
goto out;
}
- /* Save the original governor */
- strlcpy(pi->governor_ori, buf, sizeof(pi->governor_ori));
/* Write 'userspace' to the governor */
val = fseek(f, 0, SEEK_SET);