All of lore.kernel.org
 help / color / mirror / Atom feed
From: Rik van Riel <riel@redhat.com>
To: Frederic Weisbecker <fweisbec@gmail.com>,
	LKML <linux-kernel@vger.kernel.org>
Cc: Ingo Molnar <mingo@kernel.org>,
	Marcelo Tosatti <mtosatti@redhat.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Thomas Gleixner <tglx@linutronix.de>
Subject: Re: [PATCH 4/6] cputime: Fix jiffies based cputime assumption on steal accounting
Date: Thu, 06 Mar 2014 14:36:17 -0500	[thread overview]
Message-ID: <5318CE31.7000806@redhat.com> (raw)
In-Reply-To: <1394128601-26034-5-git-send-email-fweisbec@gmail.com>

On 03/06/2014 12:56 PM, Frederic Weisbecker wrote:
> The steal guest time accounting code assumes that cputime_t is based on
> jiffies. So when CONFIG_NO_HZ_FULL=y, which implies that cputime_t
> is based on nsecs, steal_account_process_tick() passes the delta in
> jiffies to account_steal_time() which then accounts it as if it's a
> value in nsecs.
>
> As a result, accounting 1 second of steal time (with HZ=100 that would
> be 100 jiffies) is spuriously accounted as 100 nsecs.
>
> As such /proc/stat may report 0 values of steal time even when two
> guests have run concurrently for a few seconds on the same host and
> same CPU.
>
> In order to fix this, lets convert the nsecs based steal delta to
> cputime instead of jiffies by using the right conversion API.
>
> Given that the steal time is stored in cputime_t and this type can have
> a smaller granularity than nsecs, we only account the rounded converted
> value and leave the remaining nsecs for the next deltas.
>
> Reported-by: Huiqingding <huding@redhat.com>
> Reported-by: Marcelo Tosatti <mtosatti@redhat.com>
> Cc: Ingo Molnar <mingo@kernel.org>
> Cc: Marcelo Tosatti <mtosatti@redhat.com>
> Cc: Peter Zijlstra <peterz@infradead.org>
> Cc: Thomas Gleixner <tglx@linutronix.de>
> Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>

Acked-by: Rik van Riel <riel@redhat.com>


  reply	other threads:[~2014-03-06 19:38 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-03-06 17:56 [PATCH 0/6] cputime: Fixes and cleanups on steal time accounting Frederic Weisbecker
2014-03-06 17:56 ` [PATCH 1/6] cputime: Fix nsecs_to_cputime() return type cast Frederic Weisbecker
2014-03-06 18:57   ` Rik van Riel
2014-03-12  2:14     ` Frederic Weisbecker
2014-03-06 17:56 ` [PATCH 2/6] cputime: Default implementation of nsecs -> cputime conversion Frederic Weisbecker
2014-03-06 19:17   ` Rik van Riel
2014-03-06 17:56 ` [PATCH 3/6] cputime: Bring cputime -> nsecs conversion Frederic Weisbecker
2014-03-06 19:24   ` Rik van Riel
2014-03-06 17:56 ` [PATCH 4/6] cputime: Fix jiffies based cputime assumption on steal accounting Frederic Weisbecker
2014-03-06 19:36   ` Rik van Riel [this message]
2014-03-06 17:56 ` [RFC PATCH 5/6] sched: Remove needless round trip nsecs <-> tick conversion of steal time Frederic Weisbecker
2014-03-06 19:39   ` Rik van Riel
2014-03-06 17:56 ` [PATCH 6/6] arch: Remove stub cputime.h headers Frederic Weisbecker
2014-03-06 19:40   ` Rik van Riel
  -- strict thread matches above, loose matches on Subject: below --
2014-03-12  2:09 [GIT PULL] timers updates for 3.15 Frederic Weisbecker
2014-03-12  2:10 ` [PATCH 4/6] cputime: Fix jiffies based cputime assumption on steal accounting 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=5318CE31.7000806@redhat.com \
    --to=riel@redhat.com \
    --cc=fweisbec@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@kernel.org \
    --cc=mtosatti@redhat.com \
    --cc=peterz@infradead.org \
    --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.