Re: 2.6.35-rc1 regression with pvclock and smp guests

Avi Kivity
2010-07-28T10:37:43Z

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.