From: Wanpeng Li <kernellwp@gmail.com>
To: Ingo Molnar <mingo@kernel.org>
Cc: Rik van Riel <riel@redhat.com>,
Frederic Weisbecker <fweisbec@gmail.com>,
LKML <linux-kernel@vger.kernel.org>,
Paolo Bonzini <pbonzini@redhat.com>,
Peter Zijlstra <peterz@infradead.org>,
Wanpeng Li <wanpeng.li@hotmail.com>,
Thomas Gleixner <tglx@linutronix.de>,
Radim Krcmar <rkrcmar@redhat.com>, Mike Galbraith <efault@gmx.de>
Subject: Re: [PATCH] time,virt: resync steal time when guest & host lose sync
Date: Thu, 18 Aug 2016 16:23:29 +0800 [thread overview]
Message-ID: <CANRm+Cx3D7b17MYm6zs8bptuceO4+sRsvFv8GNh5Mj2jKXVnww@mail.gmail.com> (raw)
In-Reply-To: <20160813084247.GA20927@gmail.com>
2016-08-13 16:42 GMT+08:00 Ingo Molnar <mingo@kernel.org>:
>
> * Rik van Riel <riel@redhat.com> wrote:
>
>> On Wed, 10 Aug 2016 07:39:08 +0800
>> Wanpeng Li <kernellwp@gmail.com> wrote:
>>
>> > The regression is caused by your commit "sched,time: Count actually
>> > elapsed irq & softirq time".
>>
>> Wanpeng, does this patch fix your issue?
>>
>> Paolo, what is your opinion on this issue?
>>
>> I can think of all kinds of ways in which guest and host might lose
>> sync with steal time, from uninitialized values at boot, to guest
>> pause, followed by save to disk, and reload, to live migration, to...
>>
>> ---8<---
>>
>> Subject: time,virt: resync steal time when guest & host lose sync
>>
>> When guest and host wildly disagree on steal time, a guest can
>> do several things:
>> 1) Quickly account all the steal time at once (the kernel did this before
>> 57430218317e ("sched/cputime: Count actually elapsed irq & softirq time"),
>> when steal_account_process_ticks got ULONG_MAX as its maximum value.
>> 2) Stay out of sync for an indeterminate amount of time. This is what the
>> system does today.
>> 3) Sync up the guest value to the host-provided value, without accounting
>> an absurdly large value in the cpu time statistics.
>>
>> This patch makes the kernel do (3), which seems like the right thing
>> to do.
>>
>> The exact value of the threshold use probably does not matter too much,
>> as long as it is long enough to cover all the timer ticks that passed
>> during an idle period, because (irqtime_)account_idle_ticks can process
>> a large amount of time all at once.
>>
>> Signed-off-by: Rik van Riel <riel@redhat.com>
>> Reported-by: Wanpeng Li <kernellwp@gmail.com>
>> ---
>> kernel/sched/cputime.c | 12 +++++++++++-
>> 1 file changed, 11 insertions(+), 1 deletion(-)
>
> fails to build on x86 allnoconfig:
>
> kernel/sched/cputime.c:524:10: error: too many arguments to function ‘steal_account_process_time’
Please try this one. https://lkml.org/lkml/2016/8/16/931
Regards,
Wanpeng Li
next prev parent reply other threads:[~2016-08-18 8:38 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-07-13 14:50 [GIT PULL] cputime fixes and cleanups Frederic Weisbecker
2016-07-13 14:50 ` [PATCH 1/5] sched,time: Count actually elapsed irq & softirq time Frederic Weisbecker
2016-07-14 10:37 ` [tip:timers/nohz] sched/cputime: " tip-bot for Rik van Riel
2016-08-09 3:59 ` [PATCH 1/5] sched,time: " Wanpeng Li
2016-08-09 14:06 ` Rik van Riel
2016-08-09 23:07 ` Wanpeng Li
2016-08-10 7:51 ` Wanpeng Li
2016-08-09 23:25 ` Wanpeng Li
2016-08-09 23:31 ` Wanpeng Li
2016-08-09 23:35 ` Wanpeng Li
2016-08-09 23:39 ` Wanpeng Li
2016-08-10 5:07 ` Rik van Riel
2016-08-10 6:33 ` Wanpeng Li
2016-08-10 16:52 ` [PATCH] time,virt: resync steal time when guest & host lose sync Rik van Riel
2016-08-11 10:11 ` Wanpeng Li
2016-08-12 2:44 ` Rik van Riel
2016-08-12 7:09 ` Wanpeng Li
2016-08-12 15:58 ` Rik van Riel
2016-08-13 15:36 ` Frederic Weisbecker
2016-08-15 8:53 ` Wanpeng Li
2016-08-15 11:38 ` Wanpeng Li
2016-08-15 15:00 ` Rik van Riel
2016-08-15 22:19 ` Wanpeng Li
2016-08-16 1:31 ` Wanpeng Li
2016-08-16 2:11 ` Rik van Riel
2016-08-16 6:54 ` Wanpeng Li
2016-08-16 14:01 ` Rik van Riel
2016-08-16 23:08 ` Wanpeng Li
2016-08-12 16:33 ` Paolo Bonzini
2016-08-12 17:23 ` Rik van Riel
2016-08-13 7:18 ` Paolo Bonzini
2016-08-13 8:42 ` Ingo Molnar
2016-08-14 1:50 ` Rik van Riel
2016-08-18 8:23 ` Wanpeng Li [this message]
2016-07-13 14:50 ` [PATCH 2/5] nohz,cputime: Replace VTIME_GEN irq time code with IRQ_TIME_ACCOUNTING code Frederic Weisbecker
2016-07-14 10:37 ` [tip:timers/nohz] sched/cputime: " tip-bot for Rik van Riel
2016-07-13 14:50 ` [PATCH 3/5] sched: Complete cleanup of old vtime gen irqtime accounting Frederic Weisbecker
2016-07-14 10:38 ` [tip:timers/nohz] sched/cputime: Clean up the old vtime gen irqtime accounting completely tip-bot for Frederic Weisbecker
2016-07-13 14:50 ` [PATCH 4/5] sched: Reorganize vtime native irqtime accounting headers Frederic Weisbecker
2016-07-14 10:38 ` [tip:timers/nohz] sched/cputime: " tip-bot for Frederic Weisbecker
2016-07-13 14:50 ` [PATCH 5/5] time: Drop local_irq_save/restore from irqtime_account_irq Frederic Weisbecker
2016-07-14 10:38 ` [tip:timers/nohz] sched/cputime: Drop local_irq_save/restore from irqtime_account_irq() tip-bot for Rik van Riel
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=CANRm+Cx3D7b17MYm6zs8bptuceO4+sRsvFv8GNh5Mj2jKXVnww@mail.gmail.com \
--to=kernellwp@gmail.com \
--cc=efault@gmx.de \
--cc=fweisbec@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=pbonzini@redhat.com \
--cc=peterz@infradead.org \
--cc=riel@redhat.com \
--cc=rkrcmar@redhat.com \
--cc=tglx@linutronix.de \
--cc=wanpeng.li@hotmail.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).