[PATCH v1] cpuidle: driver: Update microsecond values of state parameters as needed

Rafael J. Wysocki posted 1 patch 2 years, 7 months ago
drivers/cpuidle/driver.c |    4 ++++
1 file changed, 4 insertions(+)
[PATCH v1] cpuidle: driver: Update microsecond values of state parameters as needed
Posted by Rafael J. Wysocki 2 years, 7 months ago
From: Rafael J. Wysocki <rafael.j.wysocki@intel.com>

If the cpuidle driver provides the target residency and exit latency in
nanoseconds, the corresponding values in microseconds need to be set to
reflect the provided numbers in order for the sysfs interface to show
them correctly, so make __cpuidle_driver_init() do that.

Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
---
 drivers/cpuidle/driver.c |    4 ++++
 1 file changed, 4 insertions(+)

Index: linux-pm/drivers/cpuidle/driver.c
===================================================================
--- linux-pm.orig/drivers/cpuidle/driver.c
+++ linux-pm/drivers/cpuidle/driver.c
@@ -183,11 +183,15 @@ static void __cpuidle_driver_init(struct
 			s->target_residency_ns = s->target_residency * NSEC_PER_USEC;
 		else if (s->target_residency_ns < 0)
 			s->target_residency_ns = 0;
+		else
+			s->target_residency = s->target_residency_ns / NSEC_PER_USEC;
 
 		if (s->exit_latency > 0)
 			s->exit_latency_ns = s->exit_latency * NSEC_PER_USEC;
 		else if (s->exit_latency_ns < 0)
 			s->exit_latency_ns =  0;
+		else
+			s->exit_latency = s->exit_latency_ns / NSEC_PER_USEC;
 	}
 }
Re: [PATCH v1] cpuidle: driver: Update microsecond values of state parameters as needed
Posted by Artem Bityutskiy 2 years, 7 months ago
On Tue, 2023-02-07 at 20:59 +0100, Rafael J. Wysocki wrote:
> From: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
> 
> If the cpuidle driver provides the target residency and exit latency in
> nanoseconds, the corresponding values in microseconds need to be set to
> reflect the provided numbers in order for the sysfs interface to show
> them correctly, so make __cpuidle_driver_init() do that.
> 
> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>

Tested-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>

Thanks!