All of lore.kernel.org
 help / color / mirror / Atom feed
From: Peter Zijlstra <peterz@infradead.org>
To: Frederic Weisbecker <fweisbec@gmail.com>
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 2/4] sched: Correctly handle nohz ticks cpu load accounting
Date: Sat, 2 Apr 2016 09:15:20 +0200	[thread overview]
Message-ID: <20160402071520.GE2906@worktop> (raw)
In-Reply-To: <1459516987-15745-3-git-send-email-fweisbec@gmail.com>

On Fri, Apr 01, 2016 at 03:23:05PM +0200, Frederic Weisbecker wrote:
> Ticks can happen in the middle of a nohz frame and

I'm still miffed with that.. And this changelog doesn't even explain why
and how.

> cpu_load_update_active() doesn't handle these correctly. It forgets the
> whole previous tickless load and just records the current tick, ignoring
> potentially long idle periods.
> 
> In order to solve this, record the load on nohz frame entry so we know
> what to record in case of nohz interruptions, then use this recorded load
> to account the tickless load on nohz ticks and nohz frame end.


> diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
> index f33764d..394f008 100644
> --- a/kernel/sched/fair.c
> +++ b/kernel/sched/fair.c
> @@ -4527,9 +4527,9 @@ decay_load_missed(unsigned long load, unsigned long missed_updates, int idx)
>   * term. See the @active paramter.

^^^^^^^^^^^^^^

What active parameter... you need to update that comment.

>   */
>  static void __cpu_load_update(struct rq *this_rq, unsigned long this_load,
> -			      unsigned long pending_updates, int active)
> +			      unsigned long pending_updates)
>  {
> -	unsigned long tickless_load = active ? this_rq->cpu_load[0] : 0;
> +	unsigned long tickless_load = this_rq->cpu_load[0];
>  	int i, scale;
>  
>  	this_rq->nr_load_updates++;

  reply	other threads:[~2016-04-02  7:17 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-04-01 13:23 [PATCH 0/4] sched: Fix/improve nohz cpu load updates Frederic Weisbecker
2016-04-01 13:23 ` [PATCH 1/4] sched: Gather cpu load functions under a common namespace Frederic Weisbecker
2016-04-02  7:09   ` Peter Zijlstra
2016-04-02 12:28     ` Frederic Weisbecker
2016-04-01 13:23 ` [PATCH 2/4] sched: Correctly handle nohz ticks cpu load accounting Frederic Weisbecker
2016-04-02  7:15   ` Peter Zijlstra [this message]
2016-04-02 12:32     ` Frederic Weisbecker
2016-04-01 13:23 ` [PATCH 3/4] sched: Optimize tick periodic cpu load updates Frederic Weisbecker
2016-04-02  7:23   ` Peter Zijlstra
2016-04-02 12:38     ` Frederic Weisbecker
2016-04-01 13:23 ` [PATCH 4/4] sched: Conditionally build cpu load decay code for nohz Frederic Weisbecker
2016-04-02  7:23   ` Peter Zijlstra

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=20160402071520.GE2906@worktop \
    --to=peterz@infradead.org \
    --cc=byungchul.park@lge.com \
    --cc=cl@linux.com \
    --cc=cmetcalf@ezchip.com \
    --cc=efault@gmx.de \
    --cc=fweisbec@gmail.com \
    --cc=lcapitulino@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=paulmck@linux.vnet.ibm.com \
    --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.