All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ian Campbell <ian.campbell@citrix.com>
To: Yang Hongyang <yanghy@cn.fujitsu.com>
Cc: wei.liu2@citrix.com, wency@cn.fujitsu.com,
	andrew.cooper3@citrix.com, yunhong.jiang@intel.com,
	eddie.dong@intel.com, xen-devel@lists.xen.org,
	rshriram@cs.ubc.ca, ian.jackson@eu.citrix.com
Subject: Re: [PATCH Remus v2 04/10] tools/libxc: introduce DECLARE_HYPERCALL_BUFFER_USER_POINTER
Date: Tue, 12 May 2015 10:43:15 +0100	[thread overview]
Message-ID: <1431423795.8263.111.camel@citrix.com> (raw)
In-Reply-To: <5551C6B8.2050308@cn.fujitsu.com>

On Tue, 2015-05-12 at 17:24 +0800, Yang Hongyang wrote:
> 
> On 05/12/2015 04:19 PM, Ian Campbell wrote:
> > On Tue, 2015-05-12 at 15:18 +0800, Yang Hongyang wrote:
> >>
> >> On 05/11/2015 07:53 PM, Ian Campbell wrote:
> >>> On Fri, 2015-05-08 at 17:33 +0800, Yang Hongyang wrote:
> >>>> Define a user pointer that can access the hypercall buffer data
> >>>> Useful when you only need to access the hypercall buffer data
> >>>
> >>> Can you expand on this please, I think the context is a hypercall buffer
> >>> passed as an argument or as a member of a struct. Please describe why
> >>> DECLARE_HYPERCALL_BUFFER_ARGUMENT and/or DECLARE_HYPERCALL_BUFFER_SHADOW
> >>> are not usable here.
> >>
> >> There are cases that we only need to use the hypercall buffer data, and do
> >> not use the xc_hypercall_buffer_t struct.
> >>
> >> DECLARE_HYPERCALL_BUFFER_ARGUMENT will only define a xc_hypercall_buffer_t,
> >> while DECLARE_HYPERCALL_BUFFER_SHADOW do define a user pointer that can allow
> >> us to access the hypercall buffer data but it also define a
> >> xc_hypercall_buffer_t that we don't use, the compiler will report arg unused
> >> error.
> >>
> >> The cases for example:
> >> In send_all_pages(), we only need to use the haypercall buffer data which is a
> >> dirty bitmap, we set the dirty bitmap to all dirty and call send_dirty_pages,
> >> we will not use the xc_hypercall_buffer_t and hypercall to retrive the dirty
> >> bitmap.
> >> In send_some_pages(), we will also only need to use the dirty_bitmap. the
> >> retrive dirty bitmap hypercall are done by the caller.
> >
> > Thanks. Please include the bulk of this description in the commit
> > message.
> >
> > However, perhaps we should just mark the xc_hypercall_buffer_t as
> > potentially unused, by tagging it with  __attribute__((unused)), in some
> > or all of the DECLARE_HYPERCALL_* variants. Then I think you could use
> > DECLARE_HYPERCALL_BUFFER_SHADOW as is?
> 
> If __attribute__((unused)) won't cause other problems here, I also prefer
> to add this to DECLARE_HYPERCALL_BUFFER_SHADOW instead of create another
> macro, I think only DECLARE_HYPERCALL_BUFFER_SHADOW may need to set this
> attribute because this is a shadow, we might not use the xc_hypercall_buffer_t
> which already allocated.

We can certainly start from there and consider other such additions as
the need arises.

Ian.

  reply	other threads:[~2015-05-12  9:43 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-05-08  9:33 [PATCH Remus v2 00/10] Remus support for Migration-v2 Yang Hongyang
2015-05-08  9:33 ` [PATCH Remus v2 01/10] tools/libxc: adjust the memory allocation for migration Yang Hongyang
2015-05-08  9:51   ` Andrew Cooper
2015-05-11 11:50   ` Ian Campbell
2015-05-12  6:43     ` Hongyang Yang
2015-05-08  9:33 ` [PATCH Remus v2 02/10] tools/libxc: introduce setup() and cleanup() on save Yang Hongyang
2015-05-08  9:45   ` Andrew Cooper
2015-05-08  9:59     ` Hongyang Yang
2015-05-08 10:08       ` Andrew Cooper
2015-05-11  1:20         ` Hongyang Yang
2015-05-11 11:47           ` Ian Campbell
2015-05-11 11:49             ` Ian Campbell
2015-05-12  7:04               ` Yang Hongyang
2015-05-08  9:33 ` [PATCH Remus v2 03/10] tools/libxc: rename send_some_pages to send_dirty_pages Yang Hongyang
2015-05-08 10:11   ` Andrew Cooper
2015-05-11  1:21     ` Hongyang Yang
2015-05-08  9:33 ` [PATCH Remus v2 04/10] tools/libxc: introduce DECLARE_HYPERCALL_BUFFER_USER_POINTER Yang Hongyang
2015-05-08 10:16   ` Andrew Cooper
2015-05-11  1:22     ` Hongyang Yang
2015-05-11 11:53   ` Ian Campbell
2015-05-12  7:18     ` Yang Hongyang
2015-05-12  8:19       ` Ian Campbell
2015-05-12  9:24         ` Yang Hongyang
2015-05-12  9:43           ` Ian Campbell [this message]
2015-05-12  9:48             ` Yang Hongyang
2015-05-08  9:33 ` [PATCH Remus v2 05/10] tools/libxc: reuse send_dirty_pages() in send_all_pages() Yang Hongyang
2015-05-08 10:17   ` Andrew Cooper
2015-05-08  9:33 ` [PATCH Remus v2 06/10] tools/libxc: introduce process_record() Yang Hongyang
2015-05-08  9:33 ` [PATCH Remus v2 07/10] tools/libxc: split read/handle qemu info Yang Hongyang
2015-05-08  9:33 ` [PATCH Remus v2 08/10] tools/libxc: implement Remus checkpointed save Yang Hongyang
2015-05-08  9:33 ` [PATCH Remus v2 09/10] tools/libxc: implement Remus checkpointed restore Yang Hongyang
2015-05-08  9:33 ` [PATCH Remus v2 10/10] tools/libxc: X86_PV_INFO can be sent multiple times under Remus Yang Hongyang
2015-05-08 18:12 ` [PATCH Remus v2 00/10] Remus support for Migration-v2 Andrew Cooper
2015-05-11  6:28   ` Hongyang Yang
2015-05-11  9:00     ` Andrew Cooper
2015-05-11 10:48       ` Hongyang Yang
2015-05-11 11:01         ` Andrew Cooper
2015-05-12  8:12           ` Yang Hongyang
2015-05-12  9:40             ` Andrew Cooper
2015-05-12 10:02               ` Yang Hongyang

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=1431423795.8263.111.camel@citrix.com \
    --to=ian.campbell@citrix.com \
    --cc=andrew.cooper3@citrix.com \
    --cc=eddie.dong@intel.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=yanghy@cn.fujitsu.com \
    --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.