[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <5318CE31.7000806@redhat.com>
Date: Thu, 06 Mar 2014 14:36:17 -0500
From: Rik van Riel <riel@...hat.com>
To: Frederic Weisbecker <fweisbec@...il.com>,
LKML <linux-kernel@...r.kernel.org>
CC: Ingo Molnar <mingo@...nel.org>,
Marcelo Tosatti <mtosatti@...hat.com>,
Peter Zijlstra <peterz@...radead.org>,
Thomas Gleixner <tglx@...utronix.de>
Subject: Re: [PATCH 4/6] cputime: Fix jiffies based cputime assumption on
steal accounting
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@...hat.com>
> Reported-by: Marcelo Tosatti <mtosatti@...hat.com>
> Cc: Ingo Molnar <mingo@...nel.org>
> Cc: Marcelo Tosatti <mtosatti@...hat.com>
> Cc: Peter Zijlstra <peterz@...radead.org>
> Cc: Thomas Gleixner <tglx@...utronix.de>
> Signed-off-by: Frederic Weisbecker <fweisbec@...il.com>
Acked-by: Rik van Riel <riel@...hat.com>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists