Re: [PATCH 2/4] sched: Consolidate nohz CPU load update code

From: Frederic Weisbecker
Date: Tue Jan 19 2016 - 11:49:46 EST


On Thu, Jan 14, 2016 at 02:18:40PM +0900, Byungchul Park wrote:
> On Wed, Jan 13, 2016 at 05:01:29PM +0100, Frederic Weisbecker wrote:
> > #ifdef CONFIG_NO_HZ_COMMON
> > +static void __update_cpu_load_nohz(struct rq *this_rq,
> > + unsigned long curr_jiffies,
>
> Do we need to pass current jiffies as a function parameter?

I guess we don't, I just wasn't much sure of the possible overhead of READ_ONCE()

>
> > + unsigned long load,
> > + int active)
> > +{
> > + unsigned long pending_updates;
> > +
> > + pending_updates = curr_jiffies - this_rq->last_load_update_tick;
> > + if (pending_updates) {
> > + this_rq->last_load_update_tick = curr_jiffies;
> > + /*
> > + * In the regular NOHZ case, we were idle, this means load 0.
> > + * In the NOHZ_FULL case, we were non-idle, we should consider
> > + * its weighted load.
> > + */
> > + __update_cpu_load(this_rq, load, pending_updates, active);
> > + }
> > +}