Re: [PATCH v1] cpufreq: Allow exit latency to exceed target residency

From: Rafael J. Wysocki

Date: Wed Jun 17 2026 - 13:10:23 EST


On Wed, Jun 17, 2026 at 6:31 PM Christian Loehle
<christian.loehle@xxxxxxx> wrote:
>
> On 6/17/26 17:16, Rafael J. Wysocki wrote:
> > From: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
> >
> > 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@xxxxxxxxx>
> > ---
> > 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@xxxxxxx>

Thanks!