All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Roger Pau Monné" <roger.pau@citrix.com>
To: Wei Liu <wei.liu2@citrix.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Ian Jackson <ian.jackson@eu.citrix.com>, Tim Deegan <tim@xen.org>,
	Paul Durrant <paul.durrant@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v4 12/12] x86/hvm/ioreq: add a new mappable resource type...
Date: Thu, 7 Sep 2017 16:23:32 +0100	[thread overview]
Message-ID: <20170907152332.nebfyzmryj6sbwdx@dhcp-3-128.uk.xensource.com> (raw)
In-Reply-To: <20170907145905.ibond53rhl5curau@citrix.com>

On Thu, Sep 07, 2017 at 03:59:05PM +0100, Wei Liu wrote:
> On Thu, Sep 07, 2017 at 03:56:16PM +0100, Roger Pau Monné wrote:
> > On Tue, Sep 05, 2017 at 12:37:16PM +0100, Paul Durrant wrote:
[...]
> > > +        /* Make sure the page has not been allocated */
> > > +        if ( gfn_eq(iorp->gfn, INVALID_GFN) )
> > > +            return -EPERM;
> > > +
> > > +        return 0;
> > > +    }
> > > +
> > >      if ( d->is_dying )
> > >          return -EINVAL;
> > >  
> > > @@ -272,6 +281,57 @@ static int hvm_map_ioreq_gfn(struct hvm_ioreq_server *s, bool buf)
> > >      return rc;
> > >  }
> > >  
> > > +static int hvm_alloc_ioreq_mfn(struct hvm_ioreq_server *s, bool buf)
> > > +{
> > > +    struct domain *currd = current->domain;
> > > +    struct hvm_ioreq_page *iorp = buf ? &s->bufioreq : &s->ioreq;
> > > +
> > > +    if ( iorp->page )
> > > +    {
> > > +        /* Make sure the page has not been mapped */
> > 
> > Maybe it's just me being slightly lost, but here you imply that
> > iorp->gfn being != INVALID_GFN means the page is mapped, while above
> > you mention allocated for the same check.
> > 
> > Is it because gfn has different usages depending on the context?
> > 
> 
> Haha, I'm not the only one who got confused while reading the patch. ;-)
> 
> That's because the "page" can be obtained via two different methods.
> 
> "Allocated" means getting it from xen heap, "mapped" means mapping guest
> page afaict.

Oh, thanks. I think the comment should be slightly expanded then to
give more context, or else someone else is likely to trip over this
again IMHO.

Roger.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel

  reply	other threads:[~2017-09-07 15:30 UTC|newest]

Thread overview: 46+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-09-05 11:37 [PATCH v4 00/12] x86: guest resource mapping Paul Durrant
2017-09-05 11:37 ` [PATCH v4 01/12] x86/mm: allow a privileged PV domain to map guest mfns Paul Durrant
2017-09-07 11:02   ` Wei Liu
2017-09-07 11:05     ` Paul Durrant
2017-09-07 11:09       ` Wei Liu
2017-09-07 11:19     ` Andrew Cooper
2017-09-05 11:37 ` [PATCH v4 02/12] x86/mm: add HYPERVISOR_memory_op to acquire guest resources Paul Durrant
2017-09-07 11:10   ` Wei Liu
2017-09-07 11:18     ` Paul Durrant
2017-09-07 11:36       ` Wei Liu
2017-09-07 11:37         ` Paul Durrant
2017-09-07 11:54         ` Jan Beulich
2017-09-05 11:37 ` [PATCH v4 03/12] tools/libxenforeignmemory: add support for resource mapping Paul Durrant
2017-09-07 11:48   ` Wei Liu
2017-09-05 11:37 ` [PATCH v4 04/12] tools/libxenforeignmemory: reduce xenforeignmemory_restrict code footprint Paul Durrant
2017-09-07 11:48   ` Wei Liu
2017-09-05 11:37 ` [PATCH v4 05/12] tools/libxenctrl: use new xenforeignmemory API to seed grant table Paul Durrant
2017-09-07 11:49   ` Wei Liu
2017-09-05 11:37 ` [PATCH v4 06/12] x86/hvm/ioreq: rename .*pfn and .*gmfn to .*gfn Paul Durrant
2017-09-05 11:37 ` [PATCH v4 07/12] x86/hvm/ioreq: use bool rather than bool_t Paul Durrant
2017-09-07 11:10   ` Wei Liu
2017-09-05 11:37 ` [PATCH v4 08/12] x86/hvm/ioreq: maintain an array of ioreq servers rather than a list Paul Durrant
2017-09-07 11:40   ` Wei Liu
2017-09-07 14:41   ` Roger Pau Monné
2017-09-07 14:51     ` Juergen Gross
2017-09-07 14:57       ` Roger Pau Monné
2017-09-07 15:16       ` Jan Beulich
2017-09-08  8:32         ` Paul Durrant
2017-09-05 11:37 ` [PATCH v4 09/12] x86/hvm/ioreq: simplify code and use consistent naming Paul Durrant
2017-09-07 11:45   ` Wei Liu
2017-09-05 11:37 ` [PATCH v4 10/12] x86/hvm/ioreq: use gfn_t in struct hvm_ioreq_page Paul Durrant
2017-09-07 11:45   ` Wei Liu
2017-09-05 11:37 ` [PATCH v4 11/12] x86/hvm/ioreq: defer mapping gfns until they are actually requsted Paul Durrant
2017-09-07 12:00   ` Wei Liu
2017-09-07 12:03     ` Paul Durrant
2017-09-07 12:16       ` Wei Liu
2017-09-07 12:29         ` Paul Durrant
2017-09-07 14:22           ` Wei Liu
2017-09-08  8:34             ` Paul Durrant
2017-09-05 11:37 ` [PATCH v4 12/12] x86/hvm/ioreq: add a new mappable resource type Paul Durrant
2017-09-07 14:51   ` Wei Liu
2017-09-08  8:28     ` Paul Durrant
2017-09-07 14:56   ` Roger Pau Monné
2017-09-07 14:59     ` Wei Liu
2017-09-07 15:23       ` Roger Pau Monné [this message]
2017-09-08  8:29         ` Paul Durrant

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=20170907152332.nebfyzmryj6sbwdx@dhcp-3-128.uk.xensource.com \
    --to=roger.pau@citrix.com \
    --cc=andrew.cooper3@citrix.com \
    --cc=ian.jackson@eu.citrix.com \
    --cc=jbeulich@suse.com \
    --cc=paul.durrant@citrix.com \
    --cc=sstabellini@kernel.org \
    --cc=tim@xen.org \
    --cc=wei.liu2@citrix.com \
    --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.