[libvirt] [PATCH v4 3/4] Implement the core API to suspend/resume the host
Srivatsa S. Bhat
srivatsa.bhat at linux.vnet.ibm.com
Mon Nov 28 16:48:37 UTC 2011
Hi Daniel,
On 11/28/2011 05:50 PM, Daniel P. Berrange wrote:
> On Mon, Nov 28, 2011 at 05:33:22PM +0530, Srivatsa S. Bhat wrote:
>> Add the core functions that implement the functionality of the API.
>> Suspend is done by using an asynchronous mechanism so that we can return
>> the status to the caller before the host gets suspended. This asynchronous
>> operation is achieved by suspending the host in a separate thread of
>> execution. However, returning the status to the caller is only best-effort,
>> but not guaranteed.
>>
>> To resume the host, an RTC alarm is set up (based on how long we want to
>> suspend) before suspending the host. When this alarm fires, the host gets
>> woken up.
>>
>> Signed-off-by: Srivatsa S. Bhat <srivatsa.bhat at linux.vnet.ibm.com>
>> ---
>>
>> src/libvirt_private.syms | 7 +
>> src/nodeinfo.c | 245 ++++++++++++++++++++++++++++++++++++++++++++++
>> src/nodeinfo.h | 9 ++
>> src/qemu/qemu_driver.c | 4 +
>> 4 files changed, 265 insertions(+), 0 deletions(-)
>
> The nodeinfo.c file were a place to put APIs for collecting info about
> the host CPU & memory stats. As such the suspend code does not really
> belong there.
>
> Please put it in two new files src/util/virsuspend.[c,h]
>
> and ensure all the internal APIs related to this have the name
> prefix 'virSuspend' to match the filename...
>
How about src/util/virnodesuspend.[c,h]? And a corresponding virNodeSuspend prefix?
Eric Blake raised a point about separating out domain suspend and node suspend
operations, in my previous version of the patchset. So I feel it would be better to
explicitly state what we are doing, by using 'virnodesuspend'. Would that be fine?
And thanks a lot for the review! I will send an updated version with your comments
addressed.
--
Regards,
Srivatsa S. Bhat
IBM Linux Technology Center
More information about the libvir-list
mailing list