All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Roger Pau Monné" <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Tamas K Lengyel <tamas@tklengyel.com>,
	Tamas K Lengyel <tamas.lengyel@intel.com>, Wei Liu <wl@xen.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Ian Jackson <ian.jackson@eu.citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Xen-devel <xen-devel@lists.xenproject.org>,
	Julien Grall <julien@xen.org>
Subject: Re: [Xen-devel] [PATCH v12 1/3] xen/mem_sharing: VM forking
Date: Thu, 26 Mar 2020 09:42:50 +0100	[thread overview]
Message-ID: <20200326084250.GH28601@Air-de-Roger> (raw)
In-Reply-To: <a3ff04a8-a3ec-9726-373a-56dcdc9927ac@suse.com>

On Thu, Mar 26, 2020 at 08:02:22AM +0100, Jan Beulich wrote:
> On 25.03.2020 17:54, Roger Pau Monné wrote:
> > On Wed, Mar 25, 2020 at 04:42:07PM +0000, Julien Grall wrote:
> >> On 25/03/2020 16:34, Tamas K Lengyel wrote:
> >>>>> --- a/xen/common/domain.c
> >>>>> +++ b/xen/common/domain.c
> >>>>> @@ -1270,6 +1270,9 @@ int map_vcpu_info(struct vcpu *v, unsigned long gfn, unsigned offset)
> >>>>>
> >>>>>       v->vcpu_info = new_info;
> >>>>>       v->vcpu_info_mfn = page_to_mfn(page);
> >>>>> +#ifdef CONFIG_MEM_SHARING
> >>>>> +    v->vcpu_info_offset = offset;
> >>>>
> >>>> There's no need to introduce this field, you can just use v->vcpu_info
> >>>> & ~PAGE_MASK AFAICT.
> >>>
> >>> Just doing what you suggest above results in:
> >>>
> >>> mem_sharing.c:1603:55: error: invalid operands to binary & (have
> >>> ‘vcpu_info_t * const’ {aka ‘union <anonymous> * const’} and ‘long
> >>> int’)
> >>>                                       d_vcpu->vcpu_info & ~PAGE_MASK);
> >>>
> >>> I can of course cast the vcpu_info pointer to (long int), it's just a
> >>> bit ugly. Thoughts?
> >>
> >> FWIW, I will also need the offset for liveupdate. I have used (unsigned
> >> long)v->vcpu_info & ~PAGE_MASK so far but this is not really pretty.
> > 
> > I think using:
> > 
> > (vaddr_t)v->vcpu_info & ~PAGE_MASK
> > 
> > is acceptable, but that would require adding a vaddr_t typedef to x86.
> 
> I don't think vaddr_t is necessary given that all over the place we
> assume conversions between pointers and unsigned long to be fine.

Right, using unsigned long is indeed fine, but I also agree with Tamas
that it's slightly ugly and hence wanted to provide a 'cleaner'
suggestion.

Roger.


  reply	other threads:[~2020-03-26  8:43 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-03-23 17:04 [Xen-devel] [PATCH v12 0/3] VM forking Tamas K Lengyel
2020-03-23 17:04 ` [Xen-devel] [PATCH v12 1/3] xen/mem_sharing: " Tamas K Lengyel
2020-03-25 15:47   ` Roger Pau Monné
2020-03-25 16:04     ` Tamas K Lengyel
2020-03-25 16:16     ` Tamas K Lengyel
2020-03-25 16:34     ` Tamas K Lengyel
2020-03-25 16:42       ` Julien Grall
2020-03-25 16:47         ` Tamas K Lengyel
2020-03-25 16:51           ` Julien Grall
2020-03-25 17:00             ` Tamas K Lengyel
2020-03-25 17:16               ` Roger Pau Monné
2020-03-25 17:47                 ` Tamas K Lengyel
2020-03-25 16:54         ` Roger Pau Monné
2020-03-26  7:02           ` Jan Beulich
2020-03-26  8:42             ` Roger Pau Monné [this message]
2020-03-26  7:07     ` Jan Beulich
2020-03-26  9:10       ` Roger Pau Monné
2020-03-26 17:01         ` Tamas K Lengyel
2020-03-26 12:33   ` Jan Beulich
2020-03-26 14:52     ` Tamas K Lengyel
2020-03-23 17:04 ` [Xen-devel] [PATCH v12 2/3] x86/mem_sharing: reset a fork Tamas K Lengyel
2020-03-25 15:52   ` Roger Pau Monné
2020-03-25 15:54     ` Tamas K Lengyel
2020-03-26 10:16   ` Jan Beulich
2020-03-26 14:48     ` Tamas K Lengyel
2020-03-26 14:52       ` Jan Beulich
2020-03-26 14:53         ` Tamas K Lengyel
2020-03-26 23:40           ` Tamas K Lengyel
2020-03-23 17:04 ` [Xen-devel] [PATCH v12 3/3] xen/tools: VM forking toolstack side Tamas K Lengyel

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=20200326084250.GH28601@Air-de-Roger \
    --to=roger.pau@citrix.com \
    --cc=andrew.cooper3@citrix.com \
    --cc=george.dunlap@citrix.com \
    --cc=ian.jackson@eu.citrix.com \
    --cc=jbeulich@suse.com \
    --cc=julien@xen.org \
    --cc=sstabellini@kernel.org \
    --cc=tamas.lengyel@intel.com \
    --cc=tamas@tklengyel.com \
    --cc=wl@xen.org \
    --cc=xen-devel@lists.xenproject.org \
    /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.