[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [Xen-devel] [PATCH 0/4] HVM Virtual S3



Ke, Liping wrote:
> Ian Pratt wrote:
>>> The main idea is:
>>> - emulate ACPI PM1A control resiger in QEMU to capture guest S3
>>> request 
>>> - when QEMU capture guest S3 request, it call hypercall to trap to
>>> Xen 
>>> - Xen will suspend HVM by reseting all vcpus
>>> - on resume, "xm resume" will call hypercall to trap to Xen
>>> - Xen will resume HVM by setting HVM vcpu EIP to 0xfff0, cs base to
>>>   0xf0000, and also set other related registers/msr to the correct
>>>   value/attributes in realmode environment which will start from
>>>   rombios post Entry code in realmode directly when resuming.
>>> - rombios post code will start s3 resume by jumping to wakeup vector
>>>   set by guest OS.
>> 
>> Have you checked save/restore works when the guest is in S3 state?
>> This is essential for some of the server (as opposed to client) use
>> cases for guest S3.
> Yes, save/restore should work when guest is in S3 state. When
> S3_sleep, domain is still alive, just only that VCPU is blocked.
> We'll do further test on it these days.

We did not try yet. Since our original purose is for PCI passthrouhg
device. And surely we will test it. Thanks for reminder.

>> 
>> [One thing to watch out for is that if the guest is in S3 it should
>> be possible to skip the usual synchronization with PV drivers as they
>> will already be shutdown.]
> Yes, when guest is in S3, PV drivers should not deal with any
> synchronization Jobs. When resume back, it returns back to work again.

Oh, right, we will look more on this. Basic test shows vritual S3 works
fine with Linux PV drivers.

>> 
>> 
>> Further, do we actually need the s3 resume hypercall? Couldn't we
>> just put the VCPUs and xen-emulated devices into the right state for
>> resume at the end of s3 sleep and just leave the domain paused (i.e.
>> unscheduled)?
> As I can understand, when S3, HVM will perform like native-machine S3,
> all execution context are in memory When resume back, jump to the
> CS/EIP, those vcpus resume execution normally.
> Ke& Kevin, any coments here?

That is good idea. Basically we will combine suspend/resume into one
logic. And use "xm unpause" for resume. We will look into more.

> 
>> 
>> 
>> Also, do you have plans to implement an "xm send-power-event" type
>> thing that enables us to inform the guest of actions such as lid
>> switch open/close, power cable in/out, power button pressed etc ?
> Since now host S3 and HVM S3 is not integrated yet, I am not sure
> whether those lid/cable/power button are appropriate to be involved
> with Guest notification. Especially if we have multiple guest. Yet I
> think we must consider it carefully as part of VMM PM solution :)
> If both host and HVM is S3 done, when lid open,
> Xen is back, host is back and then HVM is back. It is a possible
> senario? 

We are also thinking about this. This is basically qemu work, and we see
qemu upstream already has some logic like GPE event. We will analysis
the gap and propose task plan for next step. 

> 
>> 
>> Many Thanks,
>> Ian

Thanks for the valuable comments :)

Best Regards
Ke

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.