All of lore.kernel.org
 help / color / mirror / Atom feed
From: Frederic Weisbecker <fweisbec@gmail.com>
To: Peter Zijlstra <peterz@infradead.org>
Cc: LKML <linux-kernel@vger.kernel.org>,
	Byungchul Park <byungchul.park@lge.com>,
	Chris Metcalf <cmetcalf@ezchip.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Luiz Capitulino <lcapitulino@redhat.com>,
	Christoph Lameter <cl@linux.com>,
	"Paul E . McKenney" <paulmck@linux.vnet.ibm.com>,
	Mike Galbraith <efault@gmx.de>, Rik van Riel <riel@redhat.com>,
	Ingo Molnar <mingo@elte.hu>
Subject: Re: [PATCH 3/3] sched: Optimize !CONFIG_NO_HZ_COMMON cpu load updates
Date: Fri, 8 Apr 2016 14:55:22 +0200	[thread overview]
Message-ID: <20160408125521.GC24956@lerouge> (raw)
In-Reply-To: <20160408104821.GM3448@twins.programming.kicks-ass.net>

On Fri, Apr 08, 2016 at 12:48:21PM +0200, Peter Zijlstra wrote:
> On Fri, Apr 08, 2016 at 03:07:13AM +0200, Frederic Weisbecker wrote:
> > index 4c522a7..59a2821 100644
> > --- a/kernel/sched/core.c
> > +++ b/kernel/sched/core.c
> > @@ -7327,8 +7327,9 @@ void __init sched_init(void)
> >  
> >  		for (j = 0; j < CPU_LOAD_IDX_MAX; j++)
> >  			rq->cpu_load[j] = 0;
> > -
> > +#ifdef CONFIG_NO_HZ_COMMON
> >  		rq->last_load_update_tick = jiffies;
> > +#endif
> >  
> >  #ifdef CONFIG_SMP
> >  		rq->sd = NULL;
> > diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
> > index 1dd864d..4618e5b 100644
> > --- a/kernel/sched/fair.c
> > +++ b/kernel/sched/fair.c
> > @@ -4661,8 +4680,10 @@ static inline void cpu_load_update_nohz(struct rq *this_rq,
> >  
> >  static void cpu_load_update_periodic(struct rq *this_rq, unsigned long load)
> >  {
> > +#ifdef CONFIG_NO_HZ_COMMON
> >  	/* See the mess around cpu_load_update_nohz(). */
> >  	this_rq->last_load_update_tick = READ_ONCE(jiffies);
> > +#endif
> >  	cpu_load_update(this_rq, load, 1);
> >  }
> >  
> 
> Here you do the simple #ifdef, while here you make a giant mess instead
> of the relatively straight forward:
> 
> > @@ -4540,17 +4568,8 @@ static void cpu_load_update(struct rq *this_rq, unsigned long this_load,
> >  
> >  		/* scale is effectively 1 << i now, and >> i divides by scale */
> >  
> > -		old_load = this_rq->cpu_load[i];
> #ifdef CONFIG_NO_HZ_COMMON
> > -		old_load = decay_load_missed(old_load, pending_updates - 1, i);
> > -		if (tickless_load) {
> > -			old_load -= decay_load_missed(tickless_load, pending_updates - 1, i);
> > -			/*
> > -			 * old_load can never be a negative value because a
> > -			 * decayed tickless_load cannot be greater than the
> > -			 * original tickless_load.
> > -			 */
> > -			old_load += tickless_load;
> > -		}
> #endif

Ah sure, if you prefer it that way, I can do that.

Thanks.

  reply	other threads:[~2016-04-08 12:55 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-04-08  1:07 [PATCH 0/3] sched: Fix/improve nohz cpu load updates v2 Frederic Weisbecker
2016-04-08  1:07 ` [PATCH 1/3] sched: Gather cpu load functions under a more conventional namespace Frederic Weisbecker
2016-04-08  1:07 ` [PATCH 2/3] sched: Correctly handle nohz ticks cpu load accounting Frederic Weisbecker
2016-04-08  9:41   ` Peter Zijlstra
2016-04-08 12:53     ` Frederic Weisbecker
2016-04-08 17:40       ` Peter Zijlstra
2016-04-08  1:07 ` [PATCH 3/3] sched: Optimize !CONFIG_NO_HZ_COMMON cpu load updates Frederic Weisbecker
2016-04-08 10:48   ` Peter Zijlstra
2016-04-08 12:55     ` Frederic Weisbecker [this message]
2016-04-08 17:44       ` Peter Zijlstra
2016-04-11 13:18         ` Frederic Weisbecker
2016-04-11 14:53           ` Chris Metcalf
2016-04-11 18:21             ` Frederic Weisbecker
2016-04-12 14:23               ` Peter Zijlstra
2016-04-13 13:56 [PATCH 0/3] sched: Fix/improve nohz cpu load updates v3 Frederic Weisbecker
2016-04-13 13:56 ` [PATCH 3/3] sched: Optimize !CONFIG_NO_HZ_COMMON cpu load updates Frederic Weisbecker
2016-04-18 13:36   ` Frederic Weisbecker

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20160408125521.GC24956@lerouge \
    --to=fweisbec@gmail.com \
    --cc=byungchul.park@lge.com \
    --cc=cl@linux.com \
    --cc=cmetcalf@ezchip.com \
    --cc=efault@gmx.de \
    --cc=lcapitulino@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=paulmck@linux.vnet.ibm.com \
    --cc=peterz@infradead.org \
    --cc=riel@redhat.com \
    --cc=tglx@linutronix.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.