On 06.11.2019 18:12, Andrew Cooper wrote: > On 06/11/2019 15:18, Jan Beulich wrote: >> Unmapping a page which has never been mapped should be a no-op (note how >> it already is in case there was no root page table allocated). > > Which function are you talking about here? iommu_pde_from_dfn() will > BUG() if no root was set up.
amd_iommu_unmap_page() has such a check first thing. >> There's >> in particular no need to grow the number of page table levels in use, >> and there's also no need to allocate intermediate page tables except >> when needing to split a large page. > > To be honest, I've never been convinced that dynamically changing the > number of levels in the AMD IOMMU tables is clever. It should be fixed > at 4 (like everything else) and suddenly a lot of runtime complexity > disappears. (I'm fairly confident that we'll need a domain create > parameter to support 5 level paging in a rational way, so we won't even > include walk-length gymnastics then either.) 5-level paging for the CPU 1st-stage-translation is imo pretty orthogonal to needing 5 levels of paging for 2nd-stage-translation (which also is what the IOMMU code here is about). >> Signed-off-by: Jan Beulich <[email protected]> > > Acked-by: Andrew Cooper <[email protected]> Thanks, Jan _______________________________________________ Xen-devel mailing list [email protected] https://lists.xenproject.org/mailman/listinfo/xen-devel
