From: Anthony Liguori <anthony@codemonkey.ws>
To: Zachary Amsden <zamsden@redhat.com>
Cc: Arjan Koers <0h61vkll2ly8@xutrox.com>,
kvm@vger.kernel.org, Marcelo Tosatti <mtosatti@redhat.com>,
Michael Tokarev <mjt@tls.msk.ru>, Avi Kivity <avi@redhat.com>,
Glauber Costa <glommer@redhat.com>,
Andre Przywara <andre.przywara@amd.com>
Subject: Re: 2.6.35-rc1 regression with pvclock and smp guests
Date: Mon, 11 Oct 2010 12:53:26 -0500 [thread overview]
Message-ID: <4CB34F16.8030302@codemonkey.ws> (raw)
In-Reply-To: <4CAFD327.3030608@redhat.com>
On 10/08/2010 09:27 PM, Zachary Amsden wrote:
> On 10/08/2010 03:10 PM, Arjan Koers wrote:
>> On 2010-10-09 00:06, Marcelo Tosatti wrote:
>>> On Thu, Oct 07, 2010 at 04:47:11PM -1000, Zachary Amsden wrote:
>>>> On 10/07/2010 02:12 PM, Arjan Koers wrote:
>>>>> On 2010-10-03 01:42, Zachary Amsden wrote:
>>>>> ...
>>>>>> Umm... do you guys have this commit? This is supposed to
>>>>>> address the
>>>>>> issue where the guest keeps resetting the TSC. A guest which
>>>>>> does that
>>>>>> will break kvmclock. It only happens on SMP, and it's much worse
>>>>>> on AMD
>>>>>> CPUs...
>>>>>>
>>>>>> sound like your scenario.
>>>>>>
>>>>>> commit bd59fc8ff95126f27b7a0df1b6cc602aa428812d
>>>>>> Author: Zachary Amsden<zamsden@redhat.com>
>>>>>> Date: Thu Aug 19 22:07:26 2010 -1000
>>>>> This commit fixes the problem:
>>>>>
>>>>> commit aad07c4f92bae2edaa42bcef84c2afdd0d082458
>>>>> Author: Zachary Amsden<zamsden@redhat.com>
>>>>> Date: Thu Aug 19 22:07:19 2010 -1000
>>>>>
>>>>> KVM: x86: Move TSC reset out of vmcb_init
>>>>>
>>>>> The VMCB is reset whenever we receive a startup IPI, so Linux
>>>>> is setting
>>>>> TSC back to zero happens very late in the boot process and
>>>>> destabilizing
>>>>> the TSC. Instead, just set TSC to zero once at VCPU creation
>>>>> time.
>>>>>
>>>>> Why the separate patch? So git-bisect is your friend.
>>>> Okay, apparently I need to go poke around 2.6.35 and see what
>>>> patches made it there and what patches didn't.
>>> Backports attached. Michael, Arjan, please give them a try.
>>>
>> Thanks for the patches.
>>
>> Successfully tested with 2.6.34.7, 2.6.35.7 and 2.6.36-rc7 host
>> (with a 2.6.35.7 guest).
>>
>> It failed with a 2.6.32.24 host. The patch applied, but
>> pvclock_clocksource_read on the guest is still producing wrong
>> results for CPU 1 while it's booting. I'll re-check tomorrow.
>
> There's a lot of work I've done and also a lot of work done by Glauber
> Costa on kvmclock that recently went upstream.
If pvclock is broken on 2.6.32-stable, then shouldn't we port these
patches to the stable tree or in the very least, black list pvclock in
stable?
Regards,
Anthony Liguori
> It's unlikely that you'll be bug free without all of those patches
> applied; most of the patches were not just enhancements, but contained
> bugfixes as well as improved operation conditions. On top of this,
> the patches are highly interdependent because of close code
> proximity. I suggest applying the following commits to your branch
> (newest listed first; apply in reverse order):
>
> 12b1164fa498997bf72070e6a81418197e283716
> bfa075b75d8786380a7bca1215d4c7d1485d18dd
> 82e7988a2088781175a22b09631bce97cd5ed177
> bfb3f3326c915b1800dc65d10ca09fbd548353d2
> 1377ff23ae2bf49c76f8f498ca81050878b9666a
> 9a088cc32488cfb9f60dca5972155ba13f39eb83
> e06a1a6cbe4e9f4c766595483a9b345d5b48bda7
> da908f2fb4e783c2a4de751fb90f11a0dd041161
> cf839f5da2b0779b9ec8b990f851fb4e7d681da0
> cbc59a098486494d9a49537dcb9c969210a8306d
> 5cd459cdde725bb5c3a7feef6e074e7da70490c9
> d578d4d72e3d2154901123f40c9fa7de1f85ae73
> bd59fc8ff95126f27b7a0df1b6cc602aa428812d
> e5e7675b0b9bf8eb0b806145a2fe173b5bb0e908
> bf0fb4a42ba7eb362f4013bd2e93209666793e66
> 69403a558097a9bd333736d58a4cb69ea6e2a0ac
> a87834bdb7ff9117da7f164e8cee638f2c51f9b7
> 91308e2fecddb6fc63feaf4cef3400f5cbea6619
> fd03465c0648cd12d7333269b80d902d0a8516dd
> aad07c4f92bae2edaa42bcef84c2afdd0d082458
> 280372e494634d0a2cba3956721be16fc4f989bf
> 1e6145f6fd7899d1f34e4ac00a8558d82a8d704a
> ec01d2eb0a74a6d95823fb6e320298473faf12be
> 3e05d29fe45508625e2a73db3d1bfb54f30731ff
>
> Since the issue appears resolved, I'm going to continue working upstream.
>
> Zach
> --
> To unsubscribe from this list: send the line "unsubscribe kvm" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2010-10-11 17:53 UTC|newest]
Thread overview: 81+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-07-22 12:53 2.6.35-rc1 regression with pvclock and smp guests Andre Przywara
2010-07-25 8:44 ` Avi Kivity
2010-07-26 8:47 ` Andre Przywara
2010-07-26 18:59 ` Arjan Koers
2010-07-27 21:00 ` Arjan Koers
2010-07-28 10:37 ` Avi Kivity
2010-07-31 0:34 ` Arjan Koers
2010-07-31 1:38 ` Zachary Amsden
2010-07-31 11:50 ` Arjan Koers
2010-07-31 2:39 ` Zachary Amsden
2010-07-31 11:53 ` Arjan Koers
2010-07-31 16:36 ` Arjan Koers
2010-07-31 19:45 ` Arjan Koers
2010-07-31 23:55 ` Zachary Amsden
2010-08-02 14:43 ` Glauber Costa
2010-08-02 16:16 ` Arjan Koers
2010-08-02 18:07 ` Glauber Costa
2010-08-02 20:26 ` Zachary Amsden
2010-08-02 21:10 ` Glauber Costa
2010-08-02 21:35 ` Arjan Koers
2010-08-03 0:00 ` Zachary Amsden
2010-09-28 11:16 ` Michael Tokarev
2010-09-29 8:12 ` Michael Tokarev
2010-09-29 8:28 ` Avi Kivity
2010-09-29 9:17 ` Michael Tokarev
2010-09-29 9:19 ` Michael Tokarev
2010-09-29 19:26 ` Arjan Koers
2010-09-30 7:55 ` Michael Tokarev
2010-09-30 9:59 ` Michael Tokarev
2010-09-30 13:54 ` Zachary Amsden
2010-09-30 15:12 ` Michael Tokarev
2010-09-30 15:32 ` Zachary Amsden
2010-09-30 18:49 ` Arjan Koers
2010-09-30 19:05 ` Marcelo Tosatti
2010-09-30 20:16 ` Arjan Koers
2010-09-30 23:02 ` Michael Tokarev
2010-09-30 23:07 ` Michael Tokarev
2010-10-01 1:13 ` Zachary Amsden
2010-10-02 5:35 ` Zachary Amsden
2010-10-02 7:35 ` Michael Tokarev
2010-10-02 7:40 ` Michael Tokarev
2010-10-02 7:50 ` Michael Tokarev
2010-10-02 16:10 ` Arjan Koers
2010-10-02 20:26 ` Michael Tokarev
2010-10-02 23:42 ` Zachary Amsden
2010-10-03 8:27 ` Michael Tokarev
2010-10-08 0:12 ` Arjan Koers
2010-10-08 2:47 ` Zachary Amsden
2010-10-08 22:06 ` Marcelo Tosatti
2010-10-09 1:10 ` Arjan Koers
2010-10-09 2:27 ` Zachary Amsden
2010-10-09 6:29 ` Michael Tokarev
2010-10-09 8:59 ` Arjan Koers
2010-10-11 20:47 ` Zachary Amsden
2010-10-13 12:18 ` Glauber Costa
2010-10-10 1:20 ` Arjan Koers
2010-10-11 17:53 ` Anthony Liguori [this message]
2010-10-11 18:36 ` Marcelo Tosatti
2010-10-09 2:29 ` Zachary Amsden
2010-10-10 1:26 ` Arjan Koers
2010-10-20 20:47 ` Arjan Koers
2010-10-09 7:59 ` Michael Tokarev
2010-10-09 8:31 ` Michael Tokarev
2010-10-02 21:55 ` Zachary Amsden
2010-10-03 8:16 ` Michael Tokarev
2010-10-03 8:22 ` Avi Kivity
2010-10-03 8:30 ` Michael Tokarev
2010-07-27 10:03 ` Avi Kivity
2010-07-27 11:49 ` Andre Przywara
2010-07-27 12:06 ` Avi Kivity
2010-07-27 12:21 ` Andre Przywara
2010-07-27 12:34 ` Avi Kivity
2010-07-27 13:48 ` Andre Przywara
2010-07-27 13:58 ` Avi Kivity
2010-07-27 14:55 ` Andre Przywara
2010-07-27 21:51 ` Andre Przywara
2010-07-28 3:00 ` Zachary Amsden
2010-07-28 7:55 ` Andre Przywara
2010-07-28 12:25 ` Andre Przywara
2010-07-30 22:54 ` Zachary Amsden
2010-08-02 10:12 ` Andre Przywara
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=4CB34F16.8030302@codemonkey.ws \
--to=anthony@codemonkey.ws \
--cc=0h61vkll2ly8@xutrox.com \
--cc=andre.przywara@amd.com \
--cc=avi@redhat.com \
--cc=glommer@redhat.com \
--cc=kvm@vger.kernel.org \
--cc=mjt@tls.msk.ru \
--cc=mtosatti@redhat.com \
--cc=zamsden@redhat.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