On Tue, Feb 26, 2019 at 11:08 PM Rafael J. Wysocki [off-list ref] wrote:
On Tue, Feb 26, 2019 at 3:54 PM Ulf Hansson [off-list ref] wrote:
quoted
A common piece of data used by cpuidle governors, is the information about
when the next timer/tick is going to fire. Rather than having each governor
calling tick_nohz_get_next_timer|hrtimer() separately, let's consolidate
the code by calling these functions before invoking the ->select() callback
of the governor - and store the output data in the struct cpuidle_device.
That misses the point IMO.
You don't need to store two values in struct cpuidle_device, but just
one, and not before running ->select(), but before invoking the
driver's ->enter() callback.
At that point, the decision on whether or not to stop the scheduler
tick has been made already and it should be sufficient to store the
return value of tick_nohz_get_next_hrtimer() introduced by patch
[3/8],
Or the difference between in and ts->idle_entrytime for that matter,
whichever is more useful.
because that value represents the next timer regardless of what
has been decided with respect to the tick.
And you won't need the tick_nohz_get_next_timer() any more then.
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel