mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH v1] cpufreq: Allow exit latency to exceed target residency
@ 2026-06-17 16:16 Rafael J. Wysocki
  2026-06-17 16:31 ` Christian Loehle
  0 siblings, 1 reply; 3+ messages in thread
From: Rafael J. Wysocki @ 2026-06-17 16:16 UTC (permalink / raw)
  To: Linux PM; +Cc: LKML, Christian Loehle

From: Rafael J. Wysocki <rafael.j.wysocki@intel.com>

Commit 76934e495cdc ("cpuidle: Add sanity check for exit latency and
target residency") had added a check to prevent the exit latency of an
idle state from exceeding its target residency that later was limited to
printing a warning message in that case in commit 4bf944f3fcb6 ("cpuidle:
Warn instead of bailing out if target residency check fails").

However, a thorough code inspection with that in mind leads to the
conclusion that actually there are no assumptions in cpuidle regarding
the relationship between the exit latency and target residency of a
given idle state.  It is generally assumed that the idle states table
provided by a cpuidle driver will be sorted by both the target residency
and exit latency in ascending order, but that's a different matter.

Accordingly, drop the check in question along with the message printed
when it triggers and the inaccurate comment preceding it.

Fixes: 4bf944f3fcb6 ("cpuidle: Warn instead of bailing out if target residency check fails")
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
---
 drivers/cpuidle/driver.c           |    8 --------
 drivers/cpuidle/governors/ladder.c |    2 ++
 2 files changed, 2 insertions(+), 8 deletions(-)

--- a/drivers/cpuidle/driver.c
+++ b/drivers/cpuidle/driver.c
@@ -195,14 +195,6 @@ static void __cpuidle_driver_init(struct
 			s->exit_latency_ns =  0;
 		else
 			s->exit_latency = div_u64(s->exit_latency_ns, NSEC_PER_USEC);
-
-		/*
-		 * Warn if the exit latency of a CPU idle state exceeds its
-		 * target residency which is assumed to never happen in cpuidle
-		 * in multiple places.
-		 */
-		if (s->exit_latency_ns > s->target_residency_ns)
-			pr_warn("Idle state %d target residency too low\n", i);
 	}
 }
 




^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH v1] cpufreq: Allow exit latency to exceed target residency
  2026-06-17 16:16 [PATCH v1] cpufreq: Allow exit latency to exceed target residency Rafael J. Wysocki
@ 2026-06-17 16:31 ` Christian Loehle
  2026-06-17 17:09   ` Rafael J. Wysocki
  0 siblings, 1 reply; 3+ messages in thread
From: Christian Loehle @ 2026-06-17 16:31 UTC (permalink / raw)
  To: Rafael J. Wysocki, Linux PM; +Cc: LKML

On 6/17/26 17:16, Rafael J. Wysocki wrote:
> From: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
> 
> Commit 76934e495cdc ("cpuidle: Add sanity check for exit latency and
> target residency") had added a check to prevent the exit latency of an
> idle state from exceeding its target residency that later was limited to
> printing a warning message in that case in commit 4bf944f3fcb6 ("cpuidle:
> Warn instead of bailing out if target residency check fails").
> 
> However, a thorough code inspection with that in mind leads to the
> conclusion that actually there are no assumptions in cpuidle regarding
> the relationship between the exit latency and target residency of a
> given idle state.  It is generally assumed that the idle states table
> provided by a cpuidle driver will be sorted by both the target residency
> and exit latency in ascending order, but that's a different matter.
> 
> Accordingly, drop the check in question along with the message printed
> when it triggers and the inaccurate comment preceding it.
> 
> Fixes: 4bf944f3fcb6 ("cpuidle: Warn instead of bailing out if target residency check fails")
> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
> ---
>  drivers/cpuidle/driver.c           |    8 --------
>  drivers/cpuidle/governors/ladder.c |    2 ++

ladder.c?

>  2 files changed, 2 insertions(+), 8 deletions(-)
> 
> --- a/drivers/cpuidle/driver.c
> +++ b/drivers/cpuidle/driver.c
> @@ -195,14 +195,6 @@ static void __cpuidle_driver_init(struct
>  			s->exit_latency_ns =  0;
>  		else
>  			s->exit_latency = div_u64(s->exit_latency_ns, NSEC_PER_USEC);
> -
> -		/*
> -		 * Warn if the exit latency of a CPU idle state exceeds its
> -		 * target residency which is assumed to never happen in cpuidle
> -		 * in multiple places.
> -		 */
> -		if (s->exit_latency_ns > s->target_residency_ns)
> -			pr_warn("Idle state %d target residency too low\n", i);
>  	}
>  }
>  
> 

Fine with me, but the title is cpufreq: instead of cpuidle.
If you'll fix it when applying:
Reviewed-by: Christian Loehle <christian.loehle@arm.com>

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH v1] cpufreq: Allow exit latency to exceed target residency
  2026-06-17 16:31 ` Christian Loehle
@ 2026-06-17 17:09   ` Rafael J. Wysocki
  0 siblings, 0 replies; 3+ messages in thread
From: Rafael J. Wysocki @ 2026-06-17 17:09 UTC (permalink / raw)
  To: Christian Loehle; +Cc: Rafael J. Wysocki, Linux PM, LKML

On Wed, Jun 17, 2026 at 6:31 PM Christian Loehle
<christian.loehle@arm.com> wrote:
>
> On 6/17/26 17:16, Rafael J. Wysocki wrote:
> > From: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
> >
> > Commit 76934e495cdc ("cpuidle: Add sanity check for exit latency and
> > target residency") had added a check to prevent the exit latency of an
> > idle state from exceeding its target residency that later was limited to
> > printing a warning message in that case in commit 4bf944f3fcb6 ("cpuidle:
> > Warn instead of bailing out if target residency check fails").
> >
> > However, a thorough code inspection with that in mind leads to the
> > conclusion that actually there are no assumptions in cpuidle regarding
> > the relationship between the exit latency and target residency of a
> > given idle state.  It is generally assumed that the idle states table
> > provided by a cpuidle driver will be sorted by both the target residency
> > and exit latency in ascending order, but that's a different matter.
> >
> > Accordingly, drop the check in question along with the message printed
> > when it triggers and the inaccurate comment preceding it.
> >
> > Fixes: 4bf944f3fcb6 ("cpuidle: Warn instead of bailing out if target residency check fails")
> > Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
> > ---
> >  drivers/cpuidle/driver.c           |    8 --------
> >  drivers/cpuidle/governors/ladder.c |    2 ++
>
> ladder.c?

It looks like I forgot to refresh the patch.

> >  2 files changed, 2 insertions(+), 8 deletions(-)
> >
> > --- a/drivers/cpuidle/driver.c
> > +++ b/drivers/cpuidle/driver.c
> > @@ -195,14 +195,6 @@ static void __cpuidle_driver_init(struct
> >                       s->exit_latency_ns =  0;
> >               else
> >                       s->exit_latency = div_u64(s->exit_latency_ns, NSEC_PER_USEC);
> > -
> > -             /*
> > -              * Warn if the exit latency of a CPU idle state exceeds its
> > -              * target residency which is assumed to never happen in cpuidle
> > -              * in multiple places.
> > -              */
> > -             if (s->exit_latency_ns > s->target_residency_ns)
> > -                     pr_warn("Idle state %d target residency too low\n", i);
> >       }
> >  }
> >
> >
>
> Fine with me, but the title is cpufreq: instead of cpuidle.
> If you'll fix it when applying:

I will.

> Reviewed-by: Christian Loehle <christian.loehle@arm.com>

Thanks!

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2026-06-17 17:10 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-06-17 16:16 [PATCH v1] cpufreq: Allow exit latency to exceed target residency Rafael J. Wysocki
2026-06-17 16:31 ` Christian Loehle
2026-06-17 17:09   ` Rafael J. Wysocki

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®