[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH Remus v1 1/8] tools/libxc: adjust the memory allocation for migration
Hi Ian, On 05/07/2015 09:57 PM, Ian Campbell wrote: On Thu, 2015-05-07 at 21:42 +0800, Hongyang Yang wrote:On 05/07/2015 05:48 PM, Andrew Cooper wrote:On 07/05/15 07:37, Yang Hongyang wrote:Move the memory allocation before the concrete live/nolive save in order to avoid the free/alloc memory loop when using Remus. Signed-off-by: Yang Hongyang <yanghy@xxxxxxxxxxxxxx> --- tools/libxc/xc_sr_save.c | 53 +++++++++++++++++++----------------------------- 1 file changed, 21 insertions(+), 32 deletions(-) diff --git a/tools/libxc/xc_sr_save.c b/tools/libxc/xc_sr_save.c index 5d9c267..7fed668 100644 --- a/tools/libxc/xc_sr_save.c +++ b/tools/libxc/xc_sr_save.c @@ -3,6 +3,8 @@ #include "xc_sr_common.h" +DECLARE_HYPERCALL_BUFFER(unsigned long, to_send);This unfortunately causes an issue when concurrent calls to xc_domain_save() in the same process. While this is a highly ill-advised action, I did try to avoid breaking it. Please move this declaration into the ctx.save union.I know the best way is to put this into ctx.save union, but I haven't found a method to put it in, the DECLARE_HYPERCALL_BUFFER macro can not be used there, should I just define a unsigned long var at ctx.save union, and use other macro(what macro?) define at save()?I think you need a variable of type xc_hypercall_buffer_t in the struct and then to use DECLARE_HYPERCALL_BUFFER_SHADOW in functions which need to access it. DECLARE_HYPERCALL_BUFFER_SHADOW seems to currently be unused, David added it in 60572c972b8d, I suspect to be used by migration v2, although perhaps it never was (at least not in tree yet). Thank you for the information, I finally found the way to use it, but I had to add a new macro DECLARE_HYPERCALL_BUFFER_USER_POINTER which let me to define a user pointer to access the buffer data, because in send_all_pages() I only need to access the buffer data, if I use DECLARE_HYPERCALL_BUFFER_SHADOW, it will define a shadow hypercall buffer which I don't use and the compiler will report unused var error. I will send out v2 series which you can see clearly what I've described above. Ian. . -- Thanks, Yang. _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |