[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20230731180601.GS29590@hirez.programming.kicks-ass.net>
Date: Mon, 31 Jul 2023 20:06:01 +0200
From: Peter Zijlstra <peterz@...radead.org>
To: "Rafael J. Wysocki" <rafael@...nel.org>
Cc: anna-maria@...utronix.de, tglx@...utronix.de, frederic@...nel.org,
gautham.shenoy@....com, linux-kernel@...r.kernel.org,
daniel.lezcano@...aro.org, linux-pm@...r.kernel.org,
mingo@...hat.com, juri.lelli@...hat.com,
vincent.guittot@...aro.org, dietmar.eggemann@....com,
rostedt@...dmis.org, bsegall@...gle.com, mgorman@...e.de,
bristot@...hat.com, vschneid@...hat.com
Subject: Re: [RFC][PATCH 1/3] cpuidle: Inject tick boundary state
On Mon, Jul 31, 2023 at 07:27:27PM +0200, Rafael J. Wysocki wrote:
> BTW, note that teo records timers as "hits", because it has an idea
> about when the next timer should occur and that's because it calls
> tick_nohz_get_sleep_length().
>
> If it doesn't call that function, it will not be able to tell the
> difference between a non-tick timer and any other wakeup, so the
> non-tick timer wakeups will then be recorded as "intercepts" which
> will skew it towards shallow states over time. That's one of the
> reasons why I would prefer to only avoid calling
> tick_nohz_get_sleep_length() when the candidate idle state is really
> shallow.
Can be fixed using tick_nohz_get_next_hrtimer() I think. Let me try that
tomorrow.
Powered by blists - more mailing lists