From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rik van Riel Subject: Re: [PATCH v2] sched/cputime: add steal clock warp handling Date: Mon, 06 Jun 2016 10:22:15 -0400 Message-ID: <1465222935.16365.142.camel@redhat.com> References: <1464931288-5886-1-git-send-email-wanpeng.li@hotmail.com> <1464959407.16365.120.camel@redhat.com> Mime-Version: 1.0 Content-Type: multipart/signed; micalg="pgp-sha256"; protocol="application/pgp-signature"; boundary="=-enSsHuFdq9FyJc/xVuyu" Cc: Wanpeng Li , Ingo Molnar , "Peter Zijlstra (Intel)" , Thomas Gleixner , Frederic Weisbecker , Radim To: Paolo Bonzini , Wanpeng Li , linux-kernel@vger.kernel.org, kvm@vger.kernel.org Return-path: In-Reply-To: Sender: linux-kernel-owner@vger.kernel.org List-Id: kvm.vger.kernel.org --=-enSsHuFdq9FyJc/xVuyu Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Mon, 2016-06-06 at 15:44 +0200, Paolo Bonzini wrote: >=20 > On 03/06/2016 15:10, Rik van Riel wrote: > >=20 > > On Fri, 2016-06-03 at 13:21 +0800, Wanpeng Li wrote: > > >=20 > > > From: Wanpeng Li > > >=20 > > > I observed that sometimes st is 100% instantaneous, then idle is > > > 100%=C2=A0 > > > even if there is a cpu hog on the guest cpu after the cpu hotplug > > > comes=C2=A0 > > > back(N.B. this can not always be readily reproduced). I add trace > > > to=C2=A0 > > > capture it as below: > > >=20 > > > cpuhp/1-12=C2=A0=C2=A0=C2=A0=C2=A0[001] d.h1=C2=A0=C2=A0=C2=A0167.461= 657: account_process_tick: > > > steal =3D > > > 1291385514, prev_steal_time =3D 0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0 > > > cpuhp/1-12=C2=A0=C2=A0=C2=A0=C2=A0[001] d.h1=C2=A0=C2=A0=C2=A0167.461= 659: account_process_tick: > > > steal_jiffies =3D 1291=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0 > > > -0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0[001] d.h1=C2=A0=C2=A0=C2=A0167= .462663: account_process_tick: steal > > > =3D > > > 18732255, prev_steal_time =3D 1291000000=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 > > > -0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0[001] d.h1=C2=A0=C2=A0=C2=A0167= .462664: account_process_tick: > > > steal_jiffies =3D 18446744072437 > > >=20 > > > The steal clock warp and then steal_jiffies overflow. > > >=20 > > > Rik also pointed out to me: > > > =C2=A0 > > > >=20 > > > >=20 > > > > I have seen stuff like that with live migration too, in the > > > > past=C2=A0 > > > This patch adds steal clock warp handling by a safe threshold to > > > only=C2=A0 > > > apply steal times that are positive and smaller than one second > > > (as=C2=A0 > > > long as nohz_full has the one second timer tick left), ignoring > > > intervals=C2=A0 > > > that are negative or longer than a second, and using those to > > > sync > > > up=C2=A0 > > > the guest with the host. > > >=20 > > > Cc: Ingo Molnar > > > Cc: Peter Zijlstra (Intel) > > > Cc: Rik van Riel > > > Cc: Thomas Gleixner > > > Cc: Frederic Weisbecker > > > Cc: Paolo Bonzini > > > Cc: Radim > > > Signed-off-by: Wanpeng Li > > Reviewed-by: Rik van Riel > Sorry for being late---again, I'd like to give a shot to a fix in KVM > guest code. This is in the guest code. Do you mean a fix on the host side? --=20 All Rights Reversed. --=-enSsHuFdq9FyJc/xVuyu Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part Content-Transfer-Encoding: 7bit -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQEcBAABCAAGBQJXVYcXAAoJEM553pKExN6DjusH/RLECSyHduU94cyC7hvbfa+h rFGFKAC0jXBcjeIeNj6HZLeru084Gj/xoF5VT+lXAD0eVuT6BxEhLl1yovwiU53M A2PFAMwvMCw7g8N5LuR4JQ0M1+xgi8sJuJ9l5syry1B2nK2+5M5oA9FXWoYIIvNe uQaIMHyD1GnevCxRK3skkbZrI/XuZdw9+0iM8zpm7+GHvLQsxcdQk18OFJ4JVPxK bN3YbvkipjL2I6jldCiTaDHsP//7VCxGQEcy1Rn36D8aGCEM63POfAgMve63QRbU Iggy6ogQTbR6bF/j7yrzuyQejcZKljdGkxzSpAOWqM1ciLiFBSRbIrC5PLfgA3U= =Ru5s -----END PGP SIGNATURE----- --=-enSsHuFdq9FyJc/xVuyu--