|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v4 12/12] x86/hvm/ioreq: add a new mappable resource type...
> -----Original Message-----
> From: Roger Pau Monne
> Sent: 07 September 2017 16:24
> To: Wei Liu <wei.liu2@xxxxxxxxxx>
> Cc: Paul Durrant <Paul.Durrant@xxxxxxxxxx>; xen-devel@xxxxxxxxxxxxxxxxxxxx;
> Stefano Stabellini <sstabellini@xxxxxxxxxx>; Andrew Cooper
> <Andrew.Cooper3@xxxxxxxxxx>; Ian Jackson <Ian.Jackson@xxxxxxxxxx>; Tim
> (Xen.org) <tim@xxxxxxx>; Jan Beulich <jbeulich@xxxxxxxx>
> Subject: Re: [Xen-devel] [PATCH v4 12/12] x86/hvm/ioreq: add a new
> mappable resource type...
>
> 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.
Yes, Wei's explanation is correct. I will expand the comments in both places to
explain they are mutually exclusive methods of getting hold of ioreq server
pages.
Paul
>
> Roger.
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |