[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v13 1/4] remove late (on-demand) construction of IOMMU page tables
On Wed, Sep 18, 2019 at 11:41:10AM +0100, Paul Durrant wrote: > Now that there is a per-domain IOMMU-enable flag, which should be set if > any device is going to be passed through, stop deferring page table > construction until the assignment is done. Also don't tear down the tables > again when the last device is de-assigned; defer that task until domain > destruction. > > This allows the has_iommu_pt() helper and iommu_status enumeration to be > removed. Calls to has_iommu_pt() are simply replaced by calls to > is_iommu_enabled(). Remaining open-coded tests of iommu_hap_pt_share can > also be replaced by calls to iommu_use_hap_pt(). > The arch_iommu_populate_page_table() and iommu_construct() functions become > redundant, as does the 'strict mode' dom0 page_list mapping code in > iommu_hwdom_init(), and iommu_teardown() can be made static is its only > remaining caller, iommu_domain_destroy(), is within the same source > module. > > All in all, about 220 lines of code are removed from the hypervisor (at > the expense of some additions in the toolstack). > > NOTE: This patch will cause a small amount of extra resource to be used > to accommodate IOMMU page tables that may never be used, since the > per-domain IOMMU-enable flag is currently set to the value of the > global iommu_enable flag. A subsequent patch will add an option to > the toolstack to allow it to be turned off if there is no intention > to assign passthrough hardware to the domain. > To account for the extra resource, 'iommu_memkb' has been added to > domain_build_info. This patch sets it to a value calculated based > on the domain's maximum memory when the P2M sharing is either not > supported or globally disabled, or zero otherwise. However, when > the toolstack option mentioned above is added, it will also be zero > if the per-domain IOMMU-enable flag is turned off. > > Signed-off-by: Paul Durrant <paul.durrant@xxxxxxxxxx> > Reviewed-by: Alexandru Isaila <aisaila@xxxxxxxxxxxxxxx> > Acked-by: Razvan Cojocaru <rcojocaru@xxxxxxxxxxxxxxx> > Reviewed-by: Jan Beulich <jbeulich@xxxxxxxx> > Acked-by: Julien Grall <julien.grall@xxxxxxx> Acked-by: Wei Liu <wl@xxxxxxx> _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |