All of lore.kernel.org
 help / color / mirror / Atom feed
From: Liran Alon <liran.alon@oracle.com>
To: "Michael S. Tsirkin" <mst@redhat.com>
Cc: ehabkost@redhat.com, qemu-devel@nongnu.org,
	Nikita Leshenko <nikita.leshchenko@oracle.com>,
	pbonzini@redhat.com, rth@twiddle.net
Subject: Re: [PATCH v3 10/16] hw/i386/vmport: Add support for CMD_GETTIME
Date: Sun, 22 Mar 2020 13:22:01 +0200	[thread overview]
Message-ID: <94a0992f-e163-9664-d9e6-89a35259b73a@oracle.com> (raw)
In-Reply-To: <641cf9e0-f24d-3387-1db8-0fd768967121@oracle.com>


On 15/03/2020 13:56, Liran Alon wrote:
>
> On 14/03/2020 22:56, Michael S. Tsirkin wrote:
>> On Sat, Mar 14, 2020 at 10:05:20PM +0200, Liran Alon wrote:
>>> Michael, you can also refer to this VMware time-keeping whitepaper:
>>> https://urldefense.com/v3/__https://www.vmware.com/pdf/vmware_timekeeping.pdf__;!!GqivPVa7Brio!K8sfnfvVgKwrQ4SMwX-K6-S5yR4ln9_qZ6o4GzIpQkohfWtinlplNhXzFlyUgks$ 
>>> .
>>> According to section "Initializing and Correcting Wall-Clock Time":
>>> """
>>> VMware Tools can also optionally be used to correct long‐term drift and
>>> errors by periodically
>>> resynchronizing the virtual machine’s clock to the host’s clock, but 
>>> the
>>> current version at this writing is limited.
>>> In particular, in guest operating systems other than NetWare, it 
>>> does not
>>> correct errors in which the guest clock
>>> is ahead of real time, only those in which the guest clock is behind.
>>>
>>> """
>> This talks about guest time.
>> What this does not mention is whether hosts need to employ any 
>> mechanisms
>> to synchronise wall clock between hosts.
> The above mentioned whitepaper also discuss how VMware maintains the 
> wallclock time across migrations (vMotion).
> See section "Using VMware Tools Clock Synchronization" in whitepaper.
>
> Specifically, there is an option in .vmx file named 
> "time.synchronize.resume.disk" which:
> """
> If set to TRUE, the clock syncs after resuming from suspend and after 
> migrating to a new host using the VMware VMotion feature.
> """
>
> The matching functionality in open-vm-tools can can be seen in 
> services/plugins/timeSync/timeSync.c where ToolsOnLoad()
> registers the "Time_Synchronize" RpcCallback, which is 
> TimeSyncTcloHandler(), that is possibly allowed to sync time backwards 
> (Note the "backwardSync" var).
>
> The current patch-series I have submitted doesn't implement this 
> RpcCallback functionality.
> That work can be delayed to a future patch-series that will add this 
> extra functionality as-well.
>
>>> If I understand correctly, this seems to validate my assumption that 
>>> current
>>> implementation for CMD_GETTIME is sufficient.
>> So I am concerned this does not interact well with other time sources
>> in QEMU. For example, it's very useful to set guest time with -rtc base
>> flag.
>>
>> Can you use qemu_get_timedate?
>>
> This is a very good point.
> VMware also have the ability that allows user to explicitly set guest 
> time with .vmx "rtc.startTime" option.
> (The time-zone can also be set by specifying an offset from UTC with 
> "rtc.diffFromUTC" option)
>
> However, if you will read section "Using VMware Tools Clock 
> Synchronization -> Disabling All Synchronization" in above mentioned 
> whitepaper,
> you will notice that in VMware's design, VMPort CMD_GETTIME command is 
> intentionally not synced with virtual CMOS TOD. i.e. The section 
> explicitly
> documents that if a user wants to set guest time to fictitious time, 
> user must disable VMware Tools time sync functionality by manipulating
> "tools.syncTime" and "time.synchronize.*" configuration options as 
> desired.
>
> Therefore, I think current patch VMPort CMD_GETTIME command 
> implementation is correct.
> What do you think?
>
> -Liran
>
Gentle ping.

I would like to send the next version of the patch-series.
But before I do, I would like to know what we have agreed upon regarding 
this patch.

Thanks,
-Liran




  reply	other threads:[~2020-03-22 11:22 UTC|newest]

Thread overview: 56+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-03-12 16:54 [PATCH v3 00/16]: hw/i386/vmport: Bug fixes and improvements Liran Alon
2020-03-12 16:54 ` [PATCH v3 01/16] hw/i386/vmport: Add reference to VMware open-vm-tools Liran Alon
2020-03-12 16:54 ` [PATCH v3 02/16] hw/i386/vmport: Add device properties Liran Alon
2020-03-13 19:53   ` Philippe Mathieu-Daudé
2020-03-12 16:54 ` [PATCH v3 03/16] hw/i386/vmport: Propagate IOPort read to vCPU EAX register Liran Alon
2020-03-12 16:54 ` [PATCH v3 04/16] hw/i386/vmport: Set EAX to -1 on failed and unsupported commands Liran Alon
2020-03-12 16:54 ` [PATCH v3 05/16] hw/i386/vmport: Introduce vmware-vmx-version property Liran Alon
2020-03-13 19:55   ` Philippe Mathieu-Daudé
2020-03-12 16:54 ` [PATCH v3 06/16] hw/i386/vmport: Report vmware-vmx-type in CMD_GETVERSION Liran Alon
2020-03-12 16:54 ` [PATCH v3 07/16] hw/i386/vmport: Introduce vmport.h Liran Alon
2020-03-13 19:57   ` Philippe Mathieu-Daudé
2020-03-13 22:38     ` Liran Alon
2020-03-14  8:31       ` Philippe Mathieu-Daudé
2020-03-14 12:13         ` Liran Alon
2020-03-14 18:25         ` Michael S. Tsirkin
2020-03-14 19:08           ` Liran Alon
2020-03-12 16:54 ` [PATCH v3 08/16] hw/i386/vmport: Define enum for all commands Liran Alon
2020-03-13 19:59   ` Philippe Mathieu-Daudé
2020-03-13 20:05     ` Philippe Mathieu-Daudé
2020-03-13 22:42       ` Liran Alon
2020-03-13 22:40     ` Liran Alon
2020-03-12 16:54 ` [PATCH v3 09/16] hw/i386/vmport: Add support for CMD_GETBIOSUUID Liran Alon
2020-03-12 16:54 ` [PATCH v3 10/16] hw/i386/vmport: Add support for CMD_GETTIME Liran Alon
2020-03-13  0:04   ` Michael S. Tsirkin
2020-03-13 15:25     ` Liran Alon
2020-03-13 15:47       ` Michael S. Tsirkin
2020-03-13 16:26         ` Liran Alon
2020-03-14 18:18           ` Michael S. Tsirkin
2020-03-14 19:04             ` Liran Alon
2020-03-14 19:14               ` Michael S. Tsirkin
2020-03-14 19:17                 ` Liran Alon
2020-03-14 19:26                   ` Michael S. Tsirkin
2020-03-14 19:58                     ` Nikita Leshenko
2020-03-14 20:05                       ` Liran Alon
2020-03-14 20:56                         ` Michael S. Tsirkin
2020-03-15 11:56                           ` Liran Alon
2020-03-22 11:22                             ` Liran Alon [this message]
2020-03-31 12:35                               ` Liran Alon
2020-03-14 20:48                       ` Michael S. Tsirkin
2020-03-14 19:04             ` Liran Alon
2020-03-12 16:54 ` [PATCH v3 11/16] hw/i386/vmport: Add support for CMD_GETTIMEFULL Liran Alon
2020-03-13  0:06   ` Michael S. Tsirkin
2020-03-13 15:26     ` Liran Alon
2020-03-12 16:54 ` [PATCH v3 12/16] hw/i386/vmport: Add support for CMD_GET_VCPU_INFO Liran Alon
2020-03-13  0:09   ` Michael S. Tsirkin
2020-03-13  0:11     ` Liran Alon
2020-03-12 16:54 ` [PATCH v3 13/16] hw/i386/vmport: Allow x2apic without IR Liran Alon
2020-03-12 16:54 ` [PATCH v3 14/16] i386/cpu: Store LAPIC bus frequency in CPU structure Liran Alon
2020-03-12 16:54 ` [PATCH v3 15/16] hw/i386/vmport: Add support for CMD_GETHZ Liran Alon
2020-03-13 20:07   ` Philippe Mathieu-Daudé
2020-03-13 22:44     ` Liran Alon
2020-03-14  8:27       ` Philippe Mathieu-Daudé
2020-03-14 21:52       ` Michael S. Tsirkin
2020-03-15  0:10         ` Liran Alon
2020-03-12 16:54 ` [PATCH v3 16/16] hw/i386/vmport: Assert vmport initialized before registering commands Liran Alon
2020-05-21 16:15 ` [PATCH v3 00/16]: hw/i386/vmport: Bug fixes and improvements Paolo Bonzini

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=94a0992f-e163-9664-d9e6-89a35259b73a@oracle.com \
    --to=liran.alon@oracle.com \
    --cc=ehabkost@redhat.com \
    --cc=mst@redhat.com \
    --cc=nikita.leshchenko@oracle.com \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=rth@twiddle.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.