[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 07/10 V7] libxl: use the API to setup/teardown network buffering [and 1 more messages]
On Wed, Apr 23, 2014 at 11:02 AM, Ian Jackson <Ian.Jackson@xxxxxxxxxxxxx> wrote: Yang Hongyang writes ("[PATCH V9 05/12] remus: remus device core and APIs to setup/teardown"): Sorry, I missed the previous comment of yours. The two options you note are bit more clearer than the previous comment. And I also
agree that the current approach is mixing options 1 & 2. The entire Remus code (executed from start to end) is one giant async op. Internally, per checkpoint, the code executes for no more than tens of Â
milliseconds at max, with the exception of sleeping until the next checkpoint needs to be taken. Doing checkpoint related work (i.e., syscalls to control disk/network buffers) in an async op is an overkill. So, they are integrated into the suspend/resume infrastructure (option 2) The async op is useful (please correct me if I am wrong) if the op runs forÂ
a long time, such that you don't want users of libxl to block. Which is exactly why the setup/teardown and the sleep_until_next_checkpoint operations are ao suboperations. (option 1).
All said, perhaps, it may be more clear to add a level of indirection: Âmake domain_suspend_done a callback field in libxl__domain_state. Change all direct callers of domain_suspend_done to invoke this callback.
In this way, * domain_suspend -> domain_suspend_done (for normal suspend/save operations) * domain_remus_start->domain_remus_terminated What do you think?
_______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |