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 | 66 | struct page *pages; |
| 67 | 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 | 70 | if (!pages) { |
| 71 | 71 | pr_warn("IOMMU: %s: Failed to allocate page request queue\n", |
| 72 | 72 | iommu->name); |