* [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®