[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 3/6] remove late (on-demand) construction of IOMMU page tables
On 30.07.2019 15:44, Paul Durrant wrote: 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 flag 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. In particular if the default of this is going to be "true" (I didn't look at that patch yet, but the wording above makes me assume so), in auto-ballooning mode without shared page tables more memory should imo be ballooned out of Dom0 now. It has always been a bug that IOMMU page tables weren't accounted for, but it would become even more prominent then. --- a/xen/arch/x86/hvm/mtrr.c +++ b/xen/arch/x86/hvm/mtrr.c @@ -783,7 +783,8 @@ HVM_REGISTER_SAVE_RESTORE(MTRR, hvm_save_mtrr_msr, hvm_load_mtrr_msr, 1,void memory_type_changed(struct domain *d){ - if ( (has_iommu_pt(d) || cache_flush_permitted(d)) && d->vcpu && d->vcpu[0] ) + if ( (is_iommu_enabled(d) || cache_flush_permitted(d)) && d->vcpu && + d->vcpu[0] ) As a really minor comment - I think it wouldn't be bad for both d->vcpu references to end up on the same line. @@ -625,8 +548,7 @@ static void iommu_dump_p2m_table(unsigned char key) ops = iommu_get_ops(); for_each_domain(d) { - if ( is_hardware_domain(d) || - dom_iommu(d)->status < IOMMU_STATUS_initialized ) + if ( !is_iommu_enabled(d) ) continue; Why do you drop the hwdom check here? --- a/xen/include/asm-arm/iommu.h +++ b/xen/include/asm-arm/iommu.h @@ -21,7 +21,7 @@ struct arch_iommu };/* Always share P2M Table between the CPU and the IOMMU */-#define iommu_use_hap_pt(d) (has_iommu_pt(d)) +#define iommu_use_hap_pt(d) (is_iommu_enabled(d)) I'd suggest dropping the stray outer pair of parentheses at the same time. Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |