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

From: Byungchul Park
Date: Tue Oct 13 2015 - 04:38:12 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

i also think frederic was confused..

> > 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() ?!
>
> And tick_nohz_handler() actually computes the number of ticks -- which
> we then happily ignore.
>
> Why compute it again a few functions down?

i think so.

additionally, i think it would be better to assume that scheduler_tick()
handles 1 tick as peter said e.g. because of virt, and to handle the
case caused by full NOHZ *in the nohz related code*.

> --
> 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/
--
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/