Skip to content

Commit

Permalink
power: save original ACPI governor always
Browse files Browse the repository at this point in the history
[ upstream commit 7f15f0f ]

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: 445c652 ("power: common interface for guest and host")

Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Reshma Pattan <reshma.pattan@intel.com>
  • Loading branch information
anatolyburakov authored and steevenlee committed Jun 8, 2021
1 parent 2c6016c commit 7abfd66
Showing 1 changed file with 3 additions and 2 deletions.
5 changes: 3 additions & 2 deletions lib/librte_power/power_acpi_cpufreq.c
Original file line number Diff line number Diff line change
Expand Up @@ -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) {
Expand All @@ -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);
Expand Down

0 comments on commit 7abfd66

Please sign in to comment.