> -----Original Message-----
> From: Jan Beulich [mailto:jbeul...@suse.com]
> Sent: 21 January 2019 12:05
> To: Paul Durrant <paul.durr...@citrix.com>
> Cc: Julien Grall <julien.gr...@arm.com>; Andrew Cooper
> <andrew.coop...@citrix.com>; George Dunlap <george.dun...@citrix.com>; Ian
> Jackson <ian.jack...@citrix.com>; Roger Pau Monne <roger....@citrix.com>;
> Wei Liu <wei.l...@citrix.com>; Sander Eikelenboom <li...@eikelenboom.it>;
> Chao Gao <chao....@intel.com>; Jun Nakajima <jun.nakaj...@intel.com>;
> Kevin Tian <kevin.t...@intel.com>; Stefano Stabellini
> <sstabell...@kernel.org>; xen-devel <xen-devel@lists.xenproject.org>;
> Konrad Rzeszutek Wilk <konrad.w...@oracle.com>; Tim (Xen.org)
> <t...@xen.org>
> Subject: RE: [PATCH] iommu: specify page_count rather than page_order to
> iommu_map/unmap()...
> 
> >>> On 21.01.19 at 12:56, <paul.durr...@citrix.com> wrote:
> >>  -----Original Message-----
> >> From: Jan Beulich [mailto:jbeul...@suse.com]
> >> Sent: 21 January 2019 11:28
> >> To: Paul Durrant <paul.durr...@citrix.com>
> >> Cc: Julien Grall <julien.gr...@arm.com>; Andrew Cooper
> >> <andrew.coop...@citrix.com>; Roger Pau Monne <roger....@citrix.com>;
> Wei
> >> Liu <wei.l...@citrix.com>; Sander Eikelenboom <li...@eikelenboom.it>;
> >> George Dunlap <george.dun...@citrix.com>; Ian Jackson
> >> <ian.jack...@citrix.com>; Chao Gao <chao....@intel.com>; Jun Nakajima
> >> <jun.nakaj...@intel.com>; Kevin Tian <kevin.t...@intel.com>; Stefano
> >> Stabellini <sstabell...@kernel.org>; xen-devel <xen-
> >> de...@lists.xenproject.org>; Konrad Rzeszutek Wilk
> >> <konrad.w...@oracle.com>; Tim (Xen.org) <t...@xen.org>
> >> Subject: Re: [PATCH] iommu: specify page_count rather than page_order
> to
> >> iommu_map/unmap()...
> >>
> >> >>> On 18.01.19 at 17:03, <paul.durr...@citrix.com> wrote:
> >> > ...and remove alignment assertions.
> >> >
> >> > Testing shows that certain callers of iommu_legacy_map/unmap()
> specify
> >> > order > 0 ranges that are not order aligned thus causing one of the
> >> > IS_ALIGNED() assertions to fire.
> >>
> >> As said before - without a much better explanation of why the current
> >> order-based model is unsuitable (so far I've been provided only vague
> >> pointers into "somewhere in PVH Dom0 boot code" iirc) to understand
> >> why it's undesirable to simply make those call sites obey to the
> current
> >> requirements, I'm not happy to see us go this route.
> >
> > I thought...
> >
> > "Using a count actually makes more sense because the valid
> > set of mapping orders is specific to the IOMMU implementation and to it
> > should be up to the implementation specific code to translate a mapping
> > count into an optimal set of mapping orders (when the code is finally
> > modified to support orders > 0)."
> >
> > ...was reasonably clear. Is that not a reasonable justification? What
> else
> > could I say?
> 
> Well, I was hoping to be pointed at the (apparently multiple) call sites
> where making them match the current function pattern is more involved
> and/or less desirable than changing the functions here.

AFAICT, one of them is memory.c:populate_physmap() where the extent order comes 
from the memop_args and the memory comes from alloc_domheap_pages(), which I 
don't believe aligns memory on the specified order. Regardless of the alignment 
though, the fact that order comes from a hypercall argument and may not match 
any of the orders supported by the IOMMU implementation makes me think that 
using a page count is better.

  Paul

> 
> Jan
> 


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

Reply via email to