Patchwork RTC: enable lost_tick_policy=slew as default

login
register
mail settings
Submitter Marcelo Tosatti
Date Dec. 11, 2012, 9:49 p.m.
Message ID <20121211214916.GA3871@amt.cnet>
Download mbox | patch
Permalink /patch/205310/
State New
Headers show

Comments

Marcelo Tosatti - Dec. 11, 2012, 9:49 p.m.
RTC interrupt reinjection has no known negative effect. Lack of 
RTC interrupt reinjection, though, has negative effects: time drift
for Windows guests which use it as a timer source. 

Based on that, enable lost_tick_policy=slew option as default.

Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
Paolo Bonzini - Dec. 12, 2012, 8:43 a.m.
Il 11/12/2012 22:49, Marcelo Tosatti ha scritto:
> 
> RTC interrupt reinjection has no known negative effect. Lack of 
> RTC interrupt reinjection, though, has negative effects: time drift
> for Windows guests which use it as a timer source. 
> 
> Based on that, enable lost_tick_policy=slew option as default.
> 
> Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
> 
> diff --git a/hw/mc146818rtc.c b/hw/mc146818rtc.c
> index c79fca7..c9e007d 100644
> --- a/hw/mc146818rtc.c
> +++ b/hw/mc146818rtc.c
> @@ -884,7 +884,7 @@ ISADevice *rtc_init(ISABus *bus, int base_year, qemu_irq intercept_irq)
>  static Property mc146818rtc_properties[] = {
>      DEFINE_PROP_INT32("base_year", RTCState, base_year, 1980),
>      DEFINE_PROP_LOSTTICKPOLICY("lost_tick_policy", RTCState,
> -                               lost_tick_policy, LOST_TICK_DISCARD),
> +                               lost_tick_policy, LOST_TICK_SLEW),
>      DEFINE_PROP_END_OF_LIST(),
>  };
>  
> 
> 
> 

This needs versioning for old machine types, though.

Paolo

Patch

diff --git a/hw/mc146818rtc.c b/hw/mc146818rtc.c
index c79fca7..c9e007d 100644
--- a/hw/mc146818rtc.c
+++ b/hw/mc146818rtc.c
@@ -884,7 +884,7 @@  ISADevice *rtc_init(ISABus *bus, int base_year, qemu_irq intercept_irq)
 static Property mc146818rtc_properties[] = {
     DEFINE_PROP_INT32("base_year", RTCState, base_year, 1980),
     DEFINE_PROP_LOSTTICKPOLICY("lost_tick_policy", RTCState,
-                               lost_tick_policy, LOST_TICK_DISCARD),
+                               lost_tick_policy, LOST_TICK_SLEW),
     DEFINE_PROP_END_OF_LIST(),
 };