Re: [PATCH 6/6] psi: introduce psi monitor

Peter Zijlstra
2018-12-17T16:37:39Z

On Fri, Dec 14, 2018 at 09:15:08AM -0800, Suren Baghdasaryan wrote:
> @@ -358,28 +526,23 @@ static void psi_update_work(struct work_struct *work)
> {
> struct delayed_work *dwork;
> struct psi_group *group;
> + u64 next_update;
>
> dwork = to_delayed_work(work);
> group = container_of(dwork, struct psi_group, clock_work);
>
> /*
> + * Periodically fold the per-cpu times and feed samples
> + * into the running averages.
> */
>
> + psi_update(group);
>
> + /* Calculate closest update time */
> + next_update = min(group->polling_next_update,
> + group->avg_next_update);
> + schedule_delayed_work(dwork, min(PSI_FREQ,
> + nsecs_to_jiffies(next_update - sched_clock()) + 1));

See, so I don't at _all_ like how there is no idle option..

> }