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: Tue, 27 Jul 2010 15:06:31 +0300 Message-ID: <4C4ECBC7.1070405@redhat.com> References: <4C483F67.1010007@amd.com> <4C4BF96B.7010005@redhat.com> <4C4D4B8B.80006@amd.com> <4C4EAEFC.20207@redhat.com> <4C4EC7D1.6030708@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: "glommer@redhat.com" , Zachary Amsden , KVM list To: Andre Przywara Return-path: Received: from mx1.redhat.com ([209.132.183.28]:29667 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752134Ab0G0MGe (ORCPT ); Tue, 27 Jul 2010 08:06:34 -0400 In-Reply-To: <4C4EC7D1.6030708@amd.com> Sender: kvm-owner@vger.kernel.org List-ID: On 07/27/2010 02:49 PM, Andre Przywara wrote: > >> What is the guest executing when it hangs? > Both VCPUs are halted, the monitor and System.map tell me it's in > native_safe_halt(). > The code sequence confirms this, it is an intentional sti;hlt condition. > Using -smp 16 also shows that all 16 VCPUs are stuck. > Well, strange. The intent of that patch was to make the clock never go backwards. Perhaps the change made it go forwards by a large amount, and the guest is not hung, just waiting for some timer that is far in the future. Can you do something like - if (ret < last) + if (ret < last) { + static u64 max_delta; + if (last - ret > max_delta) { + max_delta = last - ret; + printk("advancing kvmclock by: %llx\n", max_delta); + } return last; + } to see if this is happening? -- error compiling committee.c: too many arguments to function