Re: [PATCH v3 2/2] sched: consider missed ticks when updating global cpu load

From: Frederic Weisbecker
Date: Tue Oct 13 2015 - 10:51:13 EST


On Tue, Oct 13, 2015 at 09:04:36AM +0200, Peter Zijlstra wrote:
> On Mon, Oct 12, 2015 at 07:45:35PM +0200, Frederic Weisbecker wrote:
> > > I think it will take more than a single patch to rework all of
> > > update_process_times(). And we should also ask Thomas for his opinion,
> > > but I think we want:
> > >
> > > - make update_process_times() take a nr_ticks argument
> > > - fixup everything below it
> > >
> > > - fix tick_nohz_handler to not ignore the hrtimer_forward()
> > > return value and pass it into
> > > tick_sched_handle()/update_process_times().
> > >
> > > (assuming this is the right oneshot tick part, tick-common
> > > seems to be about periodic timers which aren't used much ?!)
> >
> > this_nohz_handler() is the low res nohz handler. tick_sched_handle()
> > is the high res one (I should rename these). I think we should rather
> > find out the pending updates from update_process_times() itself and pass
> > it to scheduler_tick() which is the one interested in it.
>
> tick_nohz_handler() calls tick_sched_handler() ?!

Confused I was. So tick_nohz_handler() is the low-res handler and tick_sched_timer()
is the high-res (they still need rename I think). Both end up calling tick_sched_handle().

>
> And tick_nohz_handler() actually computes the number of ticks -- which
> we then happily ignore.
>
> Why compute it again a few functions down?

Ah, you mean we could get the return value of hrtimer_foward()? Both
callers use hrtimer_forward() and I think it's fine to call it before
tick_sched_handle().

That sounds good!
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/