The page request queue is per IOMMU, its allocation should be made NUMA-aware for performance reasons.
Unified · Split
| @@ -66,7 +66,7 @@ int intel_svm_enable_prq(struct intel_iommu *iommu) · 65 unmodified lines | |||
| 66 | struct page *pages; | 66 | struct page *pages; |
| 67 | int irq, ret; | 67 | int irq, ret; |
| 68 | 68 | ||
| 69 | pages = alloc_pages(GFP_KERNEL | __GFP_ZERO, PRQ_ORDER); | 69 | pages = alloc_pages_node(iommu->node, GFP_KERNEL | __GFP_ZERO, PRQ_ORDER); |
| 70 | if (!pages) { | 70 | if (!pages) { |
| 71 | pr_warn("IOMMU: %s: Failed to allocate page request queue\n", | 71 | pr_warn("IOMMU: %s: Failed to allocate page request queue\n", |
| 72 | iommu->name); | 72 | iommu->name); |