[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH v9 5/7] memory: add check_get_page_from_gfn() as a wrapper...



> -----Original Message-----
> From: Jan Beulich [mailto:JBeulich@xxxxxxxx]
> Sent: 18 September 2018 15:51
> To: Paul Durrant <Paul.Durrant@xxxxxxxxxx>
> Cc: Julien Grall <julien.grall@xxxxxxx>; Andrew Cooper
> <Andrew.Cooper3@xxxxxxxxxx>; George Dunlap <George.Dunlap@xxxxxxxxxx>; Ian
> Jackson <Ian.Jackson@xxxxxxxxxx>; Wei Liu <wei.liu2@xxxxxxxxxx>; Stefano
> Stabellini <sstabellini@xxxxxxxxxx>; xen-devel <xen-
> devel@xxxxxxxxxxxxxxxxxxxx>; Konrad Rzeszutek Wilk
> <konrad.wilk@xxxxxxxxxx>; Tim (Xen.org) <tim@xxxxxxx>
> Subject: RE: [Xen-devel] [PATCH v9 5/7] memory: add
> check_get_page_from_gfn() as a wrapper...
> 
> >>> On 18.09.18 at 16:03, <Paul.Durrant@xxxxxxxxxx> wrote:
> >>  -----Original Message-----
> >> From: Xen-devel [mailto:xen-devel-bounces@xxxxxxxxxxxxxxxxxxxx] On
> Behalf
> >> Of Jan Beulich
> >> Sent: 18 September 2018 14:17
> >> To: Paul Durrant <Paul.Durrant@xxxxxxxxxx>
> >> Cc: Stefano Stabellini <sstabellini@xxxxxxxxxx>; Wei Liu
> >> <wei.liu2@xxxxxxxxxx>; Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>;
> >> George Dunlap <George.Dunlap@xxxxxxxxxx>; Andrew Cooper
> >> <Andrew.Cooper3@xxxxxxxxxx>; Ian Jackson <Ian.Jackson@xxxxxxxxxx>; Tim
> >> (Xen.org) <tim@xxxxxxx>; Julien Grall <julien.grall@xxxxxxx>; xen-devel
> >> <xen-devel@xxxxxxxxxxxxxxxxxxxx>
> >> Subject: Re: [Xen-devel] [PATCH v9 5/7] memory: add
> >> check_get_page_from_gfn() as a wrapper...
> >>
> >> >>> On 13.09.18 at 17:21, <paul.durrant@xxxxxxxxxx> wrote:
> >> > --- a/xen/include/asm-arm/p2m.h
> >> > +++ b/xen/include/asm-arm/p2m.h
> >> > @@ -303,6 +303,10 @@ static inline struct page_info
> *get_page_from_gfn(
> >> >      return page;
> >> >  }
> >> >
> >> > +int __must_check check_get_page_from_gfn(struct domain *d, gfn_t
> gfn,
> >> > +                                         bool readonly, p2m_type_t
> >> *p2mt_p,
> >> > +                                         struct page_info **page_p);
> >> > +
> >> >  int get_page_type(struct page_info *page, unsigned long type);
> >> >  bool is_iomem_page(mfn_t mfn);
> >> >  static inline int get_page_and_type(struct page_info *page,
> >> > --- a/xen/include/asm-x86/p2m.h
> >> > +++ b/xen/include/asm-x86/p2m.h
> >> > @@ -492,6 +492,9 @@ static inline struct page_info
> *get_page_from_gfn(
> >> >      return mfn_valid(_mfn(gfn)) && get_page(page, d) ? page : NULL;
> >> >  }
> >> >
> >> > +int __must_check check_get_page_from_gfn(struct domain *d, gfn_t
> gfn,
> >> > +                                         bool readonly, p2m_type_t
> >> *p2mt_p,
> >> > +                                         struct page_info **page_p);
> >> >
> >> >  /* General conversion function from mfn to gfn */
> >> >  static inline unsigned long mfn_to_gfn(struct domain *d, mfn_t mfn)
> >>
> >> Why twice the same declaration? Can't this be put in xen/p2m-common.h?
> >> Or some other suitable common header? With that
> >> Reviewed-by: Jan Beulich <jbeulich@xxxxxxxx>
> >>
> >
> > I was not aware of the common header so I placed it near the
> declarations of
> > get_page_from_gfn(). Do you want be to submit a v10 with this fixed or
> are
> > you happy to move it to wherever you think is appropriate during commit?
> 
> I'd prefer a v10, to be sure things compile fine ahead of trying to commit
> this series.
> 

Moving to p2m-common won't work. The function declaration involves a p2m_type_t 
argument and that enum is defined in the arm and x86 specific headers. I 
propose therefore to leave this patch as-is.

  Paul

> Jan
> 


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.