qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH] RTC: enable lost_tick_policy=slew as default (v2)
@ 2012-12-12 21:36 Marcelo Tosatti
  2012-12-13  8:35 ` Paolo Bonzini
  2013-03-07  8:25 ` Paolo Bonzini
  0 siblings, 2 replies; 8+ messages in thread
From: Marcelo Tosatti @ 2012-12-12 21:36 UTC (permalink / raw)
  To: qemu-devel; +Cc: Jan Kiszka, Paolo Bonzini


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>

v2: do not change default for older machines types (Paolo Bonzini)

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(),
 };
 
diff --git a/hw/pc_piix.c b/hw/pc_piix.c
index 19e342a..475bb4c 100644
--- a/hw/pc_piix.c
+++ b/hw/pc_piix.c
@@ -295,6 +295,10 @@ static QEMUMachine pc_machine_v1_4 = {
             .driver   = "usb-tablet",\
             .property = "usb_version",\
             .value    = stringify(1),\
+        },{\
+            .driver   = "mc146818rtc",\
+            .property = "lost_tick_policy",\
+            .value    = "discard",\
         }
 
 static QEMUMachine pc_machine_v1_3 = {

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [Qemu-devel] [PATCH] RTC: enable lost_tick_policy=slew as default (v2)
  2012-12-12 21:36 [Qemu-devel] [PATCH] RTC: enable lost_tick_policy=slew as default (v2) Marcelo Tosatti
@ 2012-12-13  8:35 ` Paolo Bonzini
  2013-03-07  8:25 ` Paolo Bonzini
  1 sibling, 0 replies; 8+ messages in thread
From: Paolo Bonzini @ 2012-12-13  8:35 UTC (permalink / raw)
  To: Marcelo Tosatti; +Cc: Jan Kiszka, qemu-devel

Il 12/12/2012 22:36, 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>
> 
> v2: do not change default for older machines types (Paolo Bonzini)
> 
> 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(),
>  };
>  
> diff --git a/hw/pc_piix.c b/hw/pc_piix.c
> index 19e342a..475bb4c 100644
> --- a/hw/pc_piix.c
> +++ b/hw/pc_piix.c
> @@ -295,6 +295,10 @@ static QEMUMachine pc_machine_v1_4 = {
>              .driver   = "usb-tablet",\
>              .property = "usb_version",\
>              .value    = stringify(1),\
> +        },{\
> +            .driver   = "mc146818rtc",\
> +            .property = "lost_tick_policy",\
> +            .value    = "discard",\
>          }
>  
>  static QEMUMachine pc_machine_v1_3 = {
> 

Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Qemu-devel] [PATCH] RTC: enable lost_tick_policy=slew as default (v2)
  2012-12-12 21:36 [Qemu-devel] [PATCH] RTC: enable lost_tick_policy=slew as default (v2) Marcelo Tosatti
  2012-12-13  8:35 ` Paolo Bonzini
@ 2013-03-07  8:25 ` Paolo Bonzini
  2013-03-08 17:11   ` Marcelo Tosatti
  1 sibling, 1 reply; 8+ messages in thread
From: Paolo Bonzini @ 2013-03-07  8:25 UTC (permalink / raw)
  To: Marcelo Tosatti; +Cc: Jan Kiszka, qemu-devel

Il 12/12/2012 22:36, 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>
> 
> v2: do not change default for older machines types (Paolo Bonzini)
> 
> 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(),
>  };
>  
> diff --git a/hw/pc_piix.c b/hw/pc_piix.c
> index 19e342a..475bb4c 100644
> --- a/hw/pc_piix.c
> +++ b/hw/pc_piix.c
> @@ -295,6 +295,10 @@ static QEMUMachine pc_machine_v1_4 = {
>              .driver   = "usb-tablet",\
>              .property = "usb_version",\
>              .value    = stringify(1),\
> +        },{\
> +            .driver   = "mc146818rtc",\
> +            .property = "lost_tick_policy",\
> +            .value    = "discard",\
>          }
>  
>  static QEMUMachine pc_machine_v1_3 = {
> 
> 

Looks like this was never applied.  Can you redo it for the new 1.5
machine (compatibility defines are now in hw/pc.h)?

Paolo

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Qemu-devel] [PATCH] RTC: enable lost_tick_policy=slew as default (v2)
  2013-03-07  8:25 ` Paolo Bonzini
@ 2013-03-08 17:11   ` Marcelo Tosatti
  2013-03-08 17:53     ` Anthony Liguori
  0 siblings, 1 reply; 8+ messages in thread
From: Marcelo Tosatti @ 2013-03-08 17:11 UTC (permalink / raw)
  To: Paolo Bonzini, Anthony Liguori; +Cc: Jan Kiszka, qemu-devel

On Thu, Mar 07, 2013 at 09:25:17AM +0100, Paolo Bonzini wrote:
> Il 12/12/2012 22:36, 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>
> > 
> > v2: do not change default for older machines types (Paolo Bonzini)
> > 
> > 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(),
> >  };
> >  
> > diff --git a/hw/pc_piix.c b/hw/pc_piix.c
> > index 19e342a..475bb4c 100644
> > --- a/hw/pc_piix.c
> > +++ b/hw/pc_piix.c
> > @@ -295,6 +295,10 @@ static QEMUMachine pc_machine_v1_4 = {
> >              .driver   = "usb-tablet",\
> >              .property = "usb_version",\
> >              .value    = stringify(1),\
> > +        },{\
> > +            .driver   = "mc146818rtc",\
> > +            .property = "lost_tick_policy",\
> > +            .value    = "discard",\
> >          }
> >  
> >  static QEMUMachine pc_machine_v1_3 = {
> > 
> > 
> 
> Looks like this was never applied.  Can you redo it for the new 1.5
> machine (compatibility defines are now in hw/pc.h)?
> 
> Paolo

Anthony mentioned that this

http://article.gmane.org/gmane.comp.emulators.qemu/160699

Is the proper way to do it.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Qemu-devel] [PATCH] RTC: enable lost_tick_policy=slew as default (v2)
  2013-03-08 17:11   ` Marcelo Tosatti
@ 2013-03-08 17:53     ` Anthony Liguori
  2013-03-09  5:44       ` Paolo Bonzini
  0 siblings, 1 reply; 8+ messages in thread
From: Anthony Liguori @ 2013-03-08 17:53 UTC (permalink / raw)
  To: Marcelo Tosatti, Paolo Bonzini; +Cc: Jan Kiszka, qemu-devel

Marcelo Tosatti <mtosatti@redhat.com> writes:

> On Thu, Mar 07, 2013 at 09:25:17AM +0100, Paolo Bonzini wrote:
>> Il 12/12/2012 22:36, 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>
>> > 
>> > v2: do not change default for older machines types (Paolo Bonzini)
>> > 
>> > 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(),
>> >  };
>> >  
>> > diff --git a/hw/pc_piix.c b/hw/pc_piix.c
>> > index 19e342a..475bb4c 100644
>> > --- a/hw/pc_piix.c
>> > +++ b/hw/pc_piix.c
>> > @@ -295,6 +295,10 @@ static QEMUMachine pc_machine_v1_4 = {
>> >              .driver   = "usb-tablet",\
>> >              .property = "usb_version",\
>> >              .value    = stringify(1),\
>> > +        },{\
>> > +            .driver   = "mc146818rtc",\
>> > +            .property = "lost_tick_policy",\
>> > +            .value    = "discard",\
>> >          }
>> >  
>> >  static QEMUMachine pc_machine_v1_3 = {
>> > 
>> > 
>> 
>> Looks like this was never applied.  Can you redo it for the new 1.5
>> machine (compatibility defines are now in hw/pc.h)?
>> 
>> Paolo
>
> Anthony mentioned that this
>
> http://article.gmane.org/gmane.comp.emulators.qemu/160699
>
> Is the proper way to do it.

That breaks too.  I don't have a solution but I also don't remember what
the exact failures are.

I'm planning on running this patch through testing again so I can
provide better feedback.

Regards,

Anthony Liguori

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Qemu-devel] [PATCH] RTC: enable lost_tick_policy=slew as default (v2)
  2013-03-08 17:53     ` Anthony Liguori
@ 2013-03-09  5:44       ` Paolo Bonzini
  2013-07-09 21:24         ` Marcelo Tosatti
  0 siblings, 1 reply; 8+ messages in thread
From: Paolo Bonzini @ 2013-03-09  5:44 UTC (permalink / raw)
  To: Anthony Liguori; +Cc: Jan Kiszka, Marcelo Tosatti, qemu-devel

Il 08/03/2013 18:53, Anthony Liguori ha scritto:
>> Anthony mentioned that this
>>
>> http://article.gmane.org/gmane.comp.emulators.qemu/160699
>>
>> Is the proper way to do it.
> 
> That breaks too.  I don't have a solution but I also don't remember what
> the exact failures are.

What about a more generic version of that?  Adding a priority field to
global properties, so that -global can have a higher priority than the
default (used by machine types)?

Paolo

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Qemu-devel] [PATCH] RTC: enable lost_tick_policy=slew as default (v2)
  2013-03-09  5:44       ` Paolo Bonzini
@ 2013-07-09 21:24         ` Marcelo Tosatti
  2013-07-09 22:05           ` Anthony Liguori
  0 siblings, 1 reply; 8+ messages in thread
From: Marcelo Tosatti @ 2013-07-09 21:24 UTC (permalink / raw)
  To: Paolo Bonzini; +Cc: Jan Kiszka, Anthony Liguori, qemu-devel

On Sat, Mar 09, 2013 at 06:44:36AM +0100, Paolo Bonzini wrote:
> Il 08/03/2013 18:53, Anthony Liguori ha scritto:
> >> Anthony mentioned that this
> >>
> >> http://article.gmane.org/gmane.comp.emulators.qemu/160699
> >>
> >> Is the proper way to do it.
> > 
> > That breaks too.  I don't have a solution but I also don't remember what
> > the exact failures are.
> 
> What about a more generic version of that?  Adding a priority field to
> global properties, so that -global can have a higher priority than the
> default (used by machine types)?
> 
> Paolo

What exactly is the problem with

http://lists.gnu.org/archive/html/qemu-devel/2012-12/msg01733.html

Again? Should it just be resubmitted ?

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Qemu-devel] [PATCH] RTC: enable lost_tick_policy=slew as default (v2)
  2013-07-09 21:24         ` Marcelo Tosatti
@ 2013-07-09 22:05           ` Anthony Liguori
  0 siblings, 0 replies; 8+ messages in thread
From: Anthony Liguori @ 2013-07-09 22:05 UTC (permalink / raw)
  To: Marcelo Tosatti, Paolo Bonzini; +Cc: Jan Kiszka, qemu-devel

Marcelo Tosatti <mtosatti@redhat.com> writes:

> On Sat, Mar 09, 2013 at 06:44:36AM +0100, Paolo Bonzini wrote:
>> Il 08/03/2013 18:53, Anthony Liguori ha scritto:
>> >> Anthony mentioned that this
>> >>
>> >> http://article.gmane.org/gmane.comp.emulators.qemu/160699
>> >>
>> >> Is the proper way to do it.
>> > 
>> > That breaks too.  I don't have a solution but I also don't remember what
>> > the exact failures are.
>> 
>> What about a more generic version of that?  Adding a priority field to
>> global properties, so that -global can have a higher priority than the
>> default (used by machine types)?
>> 
>> Paolo
>
> What exactly is the problem with
>
> http://lists.gnu.org/archive/html/qemu-devel/2012-12/msg01733.html
>
> Again? Should it just be resubmitted ?

Breaks the -rtc option which also uses globals.

Try qemu -M pc-1.4 -rtc driftfix=slew

Or qemu -M pc-1.4 -rtc-td-hack

Regards,

Anthony Liguori

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2013-07-09 22:06 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-12-12 21:36 [Qemu-devel] [PATCH] RTC: enable lost_tick_policy=slew as default (v2) Marcelo Tosatti
2012-12-13  8:35 ` Paolo Bonzini
2013-03-07  8:25 ` Paolo Bonzini
2013-03-08 17:11   ` Marcelo Tosatti
2013-03-08 17:53     ` Anthony Liguori
2013-03-09  5:44       ` Paolo Bonzini
2013-07-09 21:24         ` Marcelo Tosatti
2013-07-09 22:05           ` Anthony Liguori

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).