From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jeremy Fitzhardinge Subject: Re: S3 sleep in dom0 breaks dom0<->domU wallclock synchronization Date: Mon, 05 Jul 2010 15:50:48 -0700 Message-ID: <4C3261C8.4000808@goop.org> References: <4C322FF9.1050601@goop.org> <4C32602B.3090108@invisiblethingslab.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <4C32602B.3090108@invisiblethingslab.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: Joanna Rutkowska Cc: Jeremy Fitzhardinge , "xen-devel@lists.xensource.com" , Keir Fraser , Rafal Wojtczuk , Konrad Rzeszutek Wilk List-Id: xen-devel@lists.xenproject.org On 07/05/2010 03:43 PM, Joanna Rutkowska wrote: >> But the S3 suspend/resume is unnoticed by all the domUs, so they don't >> know that an enormous amount of time has passed in an instant? >> > Correct. I don't think DomU are notified in any way about system suspend > -- at least nothing is in the dmesg/messages logs. > > BTW: wouldn't it be good to actually notify them? Consider e.g. DomU > that has some device assigned to it (say a NIC) -- if we emulated S3 > suspend/resume for this DomU, there is a hope it would properly > suspend/reinitialize the NIC, wouldn't it? > I guess? That implies some kind of PV S3 suspend and resume event to feed into the dom U's device model. What does 2.6.18-xen do? As far as time goes, I think it makes most sense to try and resuse as much of the existing kernel machinery as possible, rather than inventing anything new. I wonder if it makes sense to do a PV checkpoint-resume to PV domains on host S3? >> Does that affect all the guest clocks, or just wallclock? >> >> > Not sure if I understand your question -- what do you mean by "all guest > clocks"? Like timers? They don't seem to be affected [*], as the apps > run smoothly. > I mean the other clocks you can real with clock_gettime(), such as CLOCK_MONOTONIC or CLOCK_PROCESS_CPUTIME_ID, in addition to CLOCK_REALTIME. J