[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v12 6/6] introduce a 'passthrough' configuration option to xl.cfg...
> -----Original Message----- > From: George Dunlap <george.dunlap@xxxxxxxxxx> > Sent: 16 September 2019 11:15 > To: Paul Durrant <Paul.Durrant@xxxxxxxxxx>; xen-devel@xxxxxxxxxxxxxxxxxxxx > Cc: Jan Beulich <jbeulich@xxxxxxxx>; Christian Lindig > <christian.lindig@xxxxxxxxxx>; Ian Jackson > <Ian.Jackson@xxxxxxxxxx>; Wei Liu <wl@xxxxxxx>; Andrew Cooper > <Andrew.Cooper3@xxxxxxxxxx>; George > Dunlap <George.Dunlap@xxxxxxxxxx>; Julien Grall <julien.grall@xxxxxxx>; > Konrad Rzeszutek Wilk > <konrad.wilk@xxxxxxxxxx>; Stefano Stabellini <sstabellini@xxxxxxxxxx>; Tim > (Xen.org) <tim@xxxxxxx>; > Anthony Perard <anthony.perard@xxxxxxxxxx>; David Scott <dave@xxxxxxxxxx>; > Volodymyr Babchuk > <Volodymyr_Babchuk@xxxxxxxx>; Roger Pau Monne <roger.pau@xxxxxxxxxx> > Subject: Re: [PATCH v12 6/6] introduce a 'passthrough' configuration option > to xl.cfg... > > On 9/16/19 10:27 AM, Paul Durrant wrote: > > ...and hence the ability to disable IOMMU mappings, and control EPT > > sharing. > > > > This patch introduces a new 'libxl_passthrough' enumeration into > > libxl_domain_create_info. The value will be set by xl either when it parses > > a new 'passthrough' option in xl.cfg, or implicitly if there is passthrough > > hardware specified for the domain. > > > > If the value of the passthrough configuration option is 'disabled' then > > the XEN_DOMCTL_CDF_iommu flag will be clear in the xen_domctl_createdomain > > flags, thus allowing the toolstack to control whether the domain gets > > IOMMU mappings or not (where previously they were globally set). > > > > If the value of the passthrough configuration option is 'sync_pt' then > > a new 'iommu_opts' field in xen_domctl_createdomain will be set with the > > value XEN_DOMCTL_IOMMU_no_sharept. This will override the global default > > set in iommu_hap_pt_share, thus allowing the toolstack to control whether > > EPT sharing is used for the domain. > > > > If the value of passthrough is 'enabled' then xl will choose an appropriate > > default according to the type of domain and hardware support. > > Minor suggestion: I prefer using a word like "auto" when you're letting > the computer decide something. Not sure I like that. I'll wait for a second opinion on that one. > > I'd also... > > > diff --git a/docs/man/xl.cfg.5.pod.in b/docs/man/xl.cfg.5.pod.in > > index c99d40307e..154d847fb9 100644 > > --- a/docs/man/xl.cfg.5.pod.in > > +++ b/docs/man/xl.cfg.5.pod.in > > @@ -605,6 +605,62 @@ option should only be used with a trusted device tree. > > Note that the partial device tree should avoid using the phandle 65000 > > which is reserved by the toolstack. > > > > +=item B<passthrough="STRING"> > > + > > +Specify whether IOMMU mappings are enabled for the domain and hence whether > > +it will be enabled for passthrough hardware. Valid values for this option > > +are: > > + > > +=over 4 > > + > > +=item B<disabled> > > + > > +IOMMU mappings are disabled for the domain and so hardware may not be > > +passed through. > > + > > +This option is the default if no passthrough hardware is specified in the > > +domain's configuration. > > + > > +=item B<sync_pt> > > + > > +This option means that IOMMU mappings will be synchronized with the > > +domain's P2M table as follows: > > + > > +For a PV domain, all writable pages assigned to the domain are identity > > +mapped by MFN in the IOMMU page table. Thus a device driver running in the > > +domain may program passthrough hardware for DMA using MFN values > > +(i.e. host/machine frame numbers) looked up in its P2M. > > + > > +For an HVM domain, all non-foreign RAM pages present in its P2M will be > > +mapped by GFN in the IOMMU page table. Thus a device driver running in the > > +domain may program passthrough hardware using GFN values (i.e. guest > > +physical frame numbers) without any further translation. > > + > > +This option is not currently available on Arm. > > + > > +=item B<share_pt> > > + > > +This option is unavailable for a PV domain. For an HVM domain, this option > > +means that the IOMMU will be programmed to directly reference the domain's > > +P2M table as its page table. From the point of view of a device driver > > +running in the domain this is functionally equivalent to B<sync_pt> but > > +places less load on the hypervisor and so should generally be selected in > > +preference. However, the availability of this option is hardware specific. > > +If B<xl info> reports B<virt_caps> containing B<iommu_hap_pt_share> then > > +this option may be used. > > + > > +=item B<enabled> > > + > > +This option enables IOMMU mappings and selects an appropriate default > > +operating mode. For HVM domains running on platforms where the option is > > +available, this is equivalent to B<share_pt>. Otherwise, and also for PV > > +domains, this options is equivalent to B<sync_pt>. > > ...put the option we want / expect people nearer the top (either first > or second). > Ok, I'll do that. Paul > Thanks, > -George _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |