From: Hongyang Yang <yanghy@cn.fujitsu.com>
To: Ian Campbell <ian.campbell@citrix.com>,
David Vrabel <david.vrabel@citrix.com>
Cc: wei.liu2@citrix.com, eddie.dong@intel.com, wency@cn.fujitsu.com,
Andrew Cooper <andrew.cooper3@citrix.com>,
yunhong.jiang@intel.com, ian.jackson@eu.citrix.com,
xen-devel@lists.xen.org, rshriram@cs.ubc.ca
Subject: Re: [PATCH Remus v1 1/8] tools/libxc: adjust the memory allocation for migration
Date: Fri, 8 May 2015 17:11:23 +0800 [thread overview]
Message-ID: <554C7DBB.1040806@cn.fujitsu.com> (raw)
In-Reply-To: <1431007060.2660.390.camel@citrix.com>
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@cn.fujitsu.com>
>>>> ---
>>>> 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.
next prev parent reply other threads:[~2015-05-08 9:11 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-05-07 6:37 [PATCH Remus v1 0/8] Remus support for Migration-v2 Yang Hongyang
2015-05-07 6:37 ` [PATCH Remus v1 1/8] tools/libxc: adjust the memory allocation for migration Yang Hongyang
2015-05-07 9:48 ` Andrew Cooper
2015-05-07 13:42 ` Hongyang Yang
2015-05-07 13:57 ` Ian Campbell
2015-05-08 9:11 ` Hongyang Yang [this message]
2015-05-08 16:27 ` David Vrabel
2015-05-08 16:42 ` Ian Campbell
2015-05-07 14:01 ` Andrew Cooper
2015-05-07 6:37 ` [PATCH Remus v1 2/8] tools/libxc: reuse send_some_pages() in send_all_pages() Yang Hongyang
2015-05-07 10:08 ` Andrew Cooper
2015-05-07 13:48 ` Hongyang Yang
2015-05-07 6:37 ` [PATCH Remus v1 3/8] tools/libxc: introduce process_record() Yang Hongyang
2015-05-07 10:12 ` Andrew Cooper
2015-05-07 6:37 ` [PATCH Remus v1 4/8] tools/libxc: split read/handle qemu info Yang Hongyang
2015-05-07 10:48 ` Andrew Cooper
2015-05-07 13:55 ` Hongyang Yang
2015-05-07 6:37 ` [PATCH Remus v1 5/8] tools/libxc: defer the setting of HVM_PARAM_IDENT_PT Yang Hongyang
2015-05-07 10:35 ` Andrew Cooper
2015-05-07 13:59 ` Hongyang Yang
2015-05-07 15:24 ` Andrew Cooper
2015-05-08 4:49 ` Hongyang Yang
2015-05-08 8:19 ` Andrew Cooper
2015-05-07 6:37 ` [PATCH Remus v1 6/8] tools/libxc: implement Remus checkpointed save Yang Hongyang
2015-05-07 6:37 ` [PATCH Remus v1 7/8] tools/libxc: implement Remus checkpointed restore Yang Hongyang
2015-05-07 6:37 ` [PATCH Remus v1 8/8] tools/libxc: X86_PV_INFO can be sent multiple times under Remus Yang Hongyang
2015-05-07 10:58 ` Andrew Cooper
2015-05-07 14:03 ` Hongyang Yang
2015-05-07 7:04 ` [PATCH Remus v1 0/8] Remus support for Migration-v2 Hongyang Yang
2015-05-07 9:31 ` Andrew Cooper
2015-05-07 15:07 ` Hongyang Yang
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=554C7DBB.1040806@cn.fujitsu.com \
--to=yanghy@cn.fujitsu.com \
--cc=andrew.cooper3@citrix.com \
--cc=david.vrabel@citrix.com \
--cc=eddie.dong@intel.com \
--cc=ian.campbell@citrix.com \
--cc=ian.jackson@eu.citrix.com \
--cc=rshriram@cs.ubc.ca \
--cc=wei.liu2@citrix.com \
--cc=wency@cn.fujitsu.com \
--cc=xen-devel@lists.xen.org \
--cc=yunhong.jiang@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.