From mboxrd@z Thu Jan 1 00:00:00 1970 From: Avi Kivity Subject: Re: 2.6.35-rc1 regression with pvclock and smp guests Date: Wed, 28 Jul 2010 13:37:38 +0300 Message-ID: <4C500872.1020809@redhat.com> References: <4C4D4B8B.80006@amd.com> <4C4DDB00.50203@xutrox.com> <4C4F48D0.8090609@xutrox.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Cc: kvm@vger.kernel.org, Zachary Amsden To: Arjan Koers <0h61vkll2ly8@xutrox.com> Return-path: Received: from mx1.redhat.com ([209.132.183.28]:30795 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754300Ab0G1Khn (ORCPT ); Wed, 28 Jul 2010 06:37:43 -0400 In-Reply-To: <4C4F48D0.8090609@xutrox.com> Sender: kvm-owner@vger.kernel.org List-ID: On 07/28/2010 12:00 AM, Arjan Koers wrote: > On 2010-07-26 20:59, Arjan Koers wrote: > >> I ran into the same problem. 2.6.34.1 and 2.6.35-rc6 SMP guest >> kernels hang during boot. > > It appears that last is way ahead of ret twice. > The kernel boots with this debug patch that makes the clock go > backwards if the difference is big: > > last = atomic64_read(&last_value); > do { > - if (ret< last) > - return last; > + if (ret< last) { > + if ( last - ret< 25000000 ) > + return last; > + else > + printk("pvclock backwards: ret = %llx; last = %llx\n", ret, last); > + } > last = atomic64_cmpxchg(&last_value, last, ret); > } while (unlikely(last != ret)); > > > > [ 0.037122] Total of 2 processors activated (11198.08 BogoMIPS). > [ 0.037118] x86 PAT enabled: cpu 1, old 0x0, new 0x7010600070106 > [ 0.040000] pvclock backwards: ret = 108373705fe2; last = 210aff61470a Zaaaacchhhh?! -- I have a truly marvellous patch that fixes the bug which this signature is too narrow to contain.