Re: [Qemu-devel] [patch 0/2] add QMP command to reset rtc interrupt backlog

2014-06-02 Thread Michal Privoznik

On 30.05.2014 16:05, Marcelo Tosatti wrote:

It is necessary to reset RTC interrupt backlog if guest time is
synchronized via a different mechanism, such as QGA's guest-set-time
command.

Failing to do so causes both corrections to be applied (summed),
resulting in an incorrect guest time.




Marcelo,

what happens if quest is synchronized via NTP? Does this command still 
need to be executed after 'cont'?


Michal



Re: [Qemu-devel] [patch 0/2] add QMP command to reset rtc interrupt backlog

2014-06-02 Thread Marcelo Tosatti
On Mon, Jun 02, 2014 at 11:13:15AM +0200, Michal Privoznik wrote:
 On 30.05.2014 16:05, Marcelo Tosatti wrote:
 It is necessary to reset RTC interrupt backlog if guest time is
 synchronized via a different mechanism, such as QGA's guest-set-time
 command.
 
 Failing to do so causes both corrections to be applied (summed),
 resulting in an incorrect guest time.
 
 
 
 Marcelo,
 
 what happens if quest is synchronized via NTP? Does this command
 still need to be executed after 'cont'?
 
 Michal

Yes because NTP will either take time to adjust by slewing or step the
clock (which renders guest-set-time() unuseable). During that time,
guest clock will be ahead of realtime.

Algorithm should be:

-  ret = guest-set-time()
-  if (ret = success)
-   rtc-reset-reinjection()

That leaves a window where RTC interrupts are reinjected, but i 
see no better option.




[Qemu-devel] [patch 0/2] add QMP command to reset rtc interrupt backlog

2014-05-30 Thread Marcelo Tosatti
It is necessary to reset RTC interrupt backlog if guest time is
synchronized via a different mechanism, such as QGA's guest-set-time
command.

Failing to do so causes both corrections to be applied (summed),
resulting in an incorrect guest time.