[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH v7 00/14] IOMMU: superpage support when not sharing pagetables
On 05.07.2022 14:41, Jan Beulich wrote: > For a long time we've been rather inefficient with IOMMU page table > management when not sharing page tables, i.e. in particular for PV (and > further specifically also for PV Dom0) and AMD (where nowadays we never > share page tables). While up to about 3.5 years ago AMD code had logic > to un-shatter page mappings, that logic was ripped out for being buggy > (XSA-275 plus follow-on). > > This series enables use of large pages in AMD and Intel (VT-d) code; > Arm is presently not in need of any enabling as pagetables are always > shared there. It also augments PV Dom0 creation with suitable explicit > IOMMU mapping calls to facilitate use of large pages there. Depending > on the amount of memory handed to Dom0 this improves booting time > (latency until Dom0 actually starts) quite a bit; subsequent shattering > of some of the large pages may of course consume some of the saved time. > > Known fallout has been spelled out here: > https://lists.xen.org/archives/html/xen-devel/2021-08/msg00781.html > > See individual patches for details on the v7 changes. > > 01: iommu: add preemption support to iommu_{un,}map() > 02: IOMMU/x86: perform PV Dom0 mappings in batches > 03: IOMMU/x86: support freeing of pagetables > 02: IOMMU/x86: new command line option to suppress use of superpage mappings > 03: AMD/IOMMU: allow use of superpage mappings > 04: VT-d: allow use of superpage mappings > 05: x86: introduce helper for recording degree of contiguity in page tables > 06: IOMMU/x86: prefill newly allocate page tables > 07: AMD/IOMMU: free all-empty page tables > 08: VT-d: free all-empty page tables > 09: AMD/IOMMU: replace all-contiguous page tables by superpage mappings > 10: VT-d: replace all-contiguous page tables by superpage mappings > 11: IOMMU/x86: add perf counters for page table splitting / coalescing > 12: VT-d: fold dma_pte_clear_one() into its only caller And I realize I've successfully screwed up numbering here. The order of patches if correct, though - it's just that from the 4th patch onwards all numbers are off by 2. Jan
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |