
On 11/22/2011 06:18 AM, Eric Blake wrote:
On 11/09/2011 05:05 AM, 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 successfully before the host gets suspended. This asynchronous operation is achieved by suspending the host in a separate thread of execution.
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@linux.vnet.ibm.com> ---
[...]
+ +#define MAX_SUSPEND_DURATION 365*24*60*60 /* 1 year, a reasonable max? */
Any time you impose an arbitrary limit (and 1 year can be deemed arbitrary), you are risking problems. There should be a real technical reason why (and if) we have to impose a limit, not an arbitrary time duration; otherwise, I would favor letting the user sleep as long as the RTC clock supports (even if the sleep amount seems ridiculous to me).
This is as far as I got on my review today; I'll pick up here tomorrow.
Hi Eric, Thanks a lot for the review comments! I'll address them in my next iteration of the patchset and post out soon. Thanks, Srivatsa S. Bhat IBM Linux Technology Center