From: Paolo Bonzini <pbonzini@redhat.com>
To: "Zhang, Yang Z" <yang.z.zhang@intel.com>
Cc: Marcelo Tosatti <mtosatti@redhat.com>,
"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
"avi@redhat.com" <avi@redhat.com>,
"aliguori@us.ibm.com" <aliguori@us.ibm.com>,
"Zhang, Xiantao" <xiantao.zhang@intel.com>,
"Shan, Haitao" <haitao.shan@intel.com>,
"kvm@vger.kernel.org" <kvm@vger.kernel.org>
Subject: Re: [PATCH 3/3] stop the periodic RTC update timer
Date: Thu, 12 Jan 2012 10:26:17 +0100 [thread overview]
Message-ID: <4F0EA739.1040707@redhat.com> (raw)
In-Reply-To: <A9667DDFB95DB7438FA9D7D576C3D87E0252F5@SHSMSX102.ccr.corp.intel.com>
On 01/12/2012 01:00 AM, Zhang, Yang Z wrote:
>> Regarding the UIP bit, a guest could read it in a loop and wait
>> for the value to change. But you can emulate it in
>> cmos_ioport_read by reading the host time, that is, return 1
>> during 244us, 0 for remaining of the second, and have that in
>> sync with update-cycle-ended interrupt if its enabled.
>
> Yes. Guest may use the loop to read RTC, but the point is the guest
> is waiting for the UIP changed to 0. If this bit always equal to 0 ,
> guest will never go into the loop. For real RTC, this may wrong,
> because the RTC cannot give you the valid value during the update
> cycle. But the virtual RTC doesn't' need this logic, whenever you
> read it, it will always return the right value to you.
The point is not _correctness_. It is _atomicity_.
Paolo
WARNING: multiple messages have this Message-ID (diff)
From: Paolo Bonzini <pbonzini@redhat.com>
To: "Zhang, Yang Z" <yang.z.zhang@intel.com>
Cc: "aliguori@us.ibm.com" <aliguori@us.ibm.com>,
"kvm@vger.kernel.org" <kvm@vger.kernel.org>,
Marcelo Tosatti <mtosatti@redhat.com>,
"Shan, Haitao" <haitao.shan@intel.com>,
"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
"avi@redhat.com" <avi@redhat.com>
Subject: Re: [Qemu-devel] [PATCH 3/3] stop the periodic RTC update timer
Date: Thu, 12 Jan 2012 10:26:17 +0100 [thread overview]
Message-ID: <4F0EA739.1040707@redhat.com> (raw)
In-Reply-To: <A9667DDFB95DB7438FA9D7D576C3D87E0252F5@SHSMSX102.ccr.corp.intel.com>
On 01/12/2012 01:00 AM, Zhang, Yang Z wrote:
>> Regarding the UIP bit, a guest could read it in a loop and wait
>> for the value to change. But you can emulate it in
>> cmos_ioport_read by reading the host time, that is, return 1
>> during 244us, 0 for remaining of the second, and have that in
>> sync with update-cycle-ended interrupt if its enabled.
>
> Yes. Guest may use the loop to read RTC, but the point is the guest
> is waiting for the UIP changed to 0. If this bit always equal to 0 ,
> guest will never go into the loop. For real RTC, this may wrong,
> because the RTC cannot give you the valid value during the update
> cycle. But the virtual RTC doesn't' need this logic, whenever you
> read it, it will always return the right value to you.
The point is not _correctness_. It is _atomicity_.
Paolo
next prev parent reply other threads:[~2012-01-12 9:26 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-01-06 7:37 [PATCH 3/3] stop the periodic RTC update timer Zhang, Yang Z
2012-01-06 7:37 ` [Qemu-devel] " Zhang, Yang Z
2012-01-06 17:26 ` Jan Kiszka
2012-01-06 17:26 ` [Qemu-devel] " Jan Kiszka
2012-01-09 7:10 ` Zhang, Yang Z
2012-01-09 7:10 ` [Qemu-devel] " Zhang, Yang Z
2012-01-09 8:19 ` Paolo Bonzini
2012-01-09 8:19 ` [Qemu-devel] " Paolo Bonzini
2012-01-10 6:37 ` Zhang, Yang Z
2012-01-10 6:37 ` [Qemu-devel] " Zhang, Yang Z
2012-01-10 9:24 ` Paolo Bonzini
2012-01-10 9:24 ` [Qemu-devel] " Paolo Bonzini
2012-01-11 0:56 ` Zhang, Yang Z
2012-01-11 0:56 ` [Qemu-devel] " Zhang, Yang Z
2012-01-11 7:24 ` Paolo Bonzini
2012-01-11 7:24 ` [Qemu-devel] " Paolo Bonzini
2012-01-12 0:51 ` Zhang, Yang Z
2012-01-12 0:51 ` [Qemu-devel] " Zhang, Yang Z
2012-01-12 9:41 ` Paolo Bonzini
2012-01-11 7:25 ` [Qemu-devel] " Philipp Hahn
2012-01-11 13:10 ` Marcelo Tosatti
2012-01-11 13:10 ` [Qemu-devel] " Marcelo Tosatti
2012-01-12 0:00 ` Zhang, Yang Z
2012-01-12 0:00 ` [Qemu-devel] " Zhang, Yang Z
2012-01-12 9:26 ` Paolo Bonzini [this message]
2012-01-12 9:26 ` Paolo Bonzini
2012-01-12 10:20 ` Marcelo Tosatti
2012-01-12 10:20 ` [Qemu-devel] " Marcelo Tosatti
2012-01-12 10:43 ` Paolo Bonzini
2012-01-12 10:43 ` [Qemu-devel] " Paolo Bonzini
2012-01-12 9:59 ` Marcelo Tosatti
2012-01-12 9:59 ` [Qemu-devel] " Marcelo Tosatti
2012-01-12 10:03 ` Marcelo Tosatti
2012-01-12 10:03 ` [Qemu-devel] " Marcelo Tosatti
2012-01-12 10:12 ` Zhang, Yang Z
2012-01-12 10:12 ` [Qemu-devel] " Zhang, Yang Z
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=4F0EA739.1040707@redhat.com \
--to=pbonzini@redhat.com \
--cc=aliguori@us.ibm.com \
--cc=avi@redhat.com \
--cc=haitao.shan@intel.com \
--cc=kvm@vger.kernel.org \
--cc=mtosatti@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=xiantao.zhang@intel.com \
--cc=yang.z.zhang@intel.com \
/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.