Re: [PATCH] BUG in pv_clock when overflow condition is detected

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 02/15/2012 01:23 PM, Igor Mammedov wrote:
>>>   static u64 pvclock_get_nsec_offset(struct pvclock_shadow_time
>>> *shadow)
>>>   {
>>> -    u64 delta = native_read_tsc() - shadow->tsc_timestamp;
>>> +    u64 delta;
>>> +    u64 tsc = native_read_tsc();
>>> +    BUG_ON(tsc<  shadow->tsc_timestamp);
>>> +    delta = tsc - shadow->tsc_timestamp;
>>>       return pvclock_scale_delta(delta, shadow->tsc_to_nsec_mul,
>>>                      shadow->tsc_shift);
>>
>> Maybe a WARN_ON_ONCE()?  Otherwise a relatively minor hypervisor bug can
>> kill the guest.
>
>
> An attempt to print from this place is not perfect since it often leads
> to recursive calling to this very function and it hang there anyway.
> But if you insist I'll re-post it with WARN_ON_ONCE,
> It won't make much difference because guest will hang/stall due overflow
> anyway.

Won't a BUG_ON() also result in a printk?

>
> If there is an intention to keep guest functional after the event then
> maybe this patch is a way to go
>   http://www.spinics.net/lists/kvm/msg68463.html
> this way clock will be re-silent to this kind of errors, like bare-metal
> one is.

It's the same patch... do you mean something that detects the overflow
and uses the last value?

-- 
error compiling committee.c: too many arguments to function

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux