]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
drm/xe: Set TTM device beneficial_order to 9 (2M)
authorMatthew Brost <matthew.brost@intel.com>
Thu, 11 Jun 2026 23:58:44 +0000 (16:58 -0700)
committerMatthew Brost <matthew.brost@intel.com>
Tue, 16 Jun 2026 17:18:46 +0000 (10:18 -0700)
Set the TTM device beneficial_order to 9 (2M), which is the sweet
spot for Xe when attempting reclaim on system memory BOs, as it matches
the large GPU page size. This ensures reclaim is attempted at the most
effective order for the driver.

This fixes an issue where an order-10 (4M) allocation cannot be found
despite an abundance of memory. The 4M allocation triggers reclaim,
unnecessarily evicting the working set and hurting performance. Since
the TTM infrastructure was introduced recently, we are tagging the TTM
patch as the Fixes target, even though this resolves an Xe-side problem.

Fixes: 7e9c548d3709 ("drm/ttm: Allow drivers to specify maximum beneficial TTM pool size")
Cc: stable@vger.kernel.org
Signed-off-by: Matthew Brost <matthew.brost@intel.com>
Reviewed-by: Andi Shyti <andi.shyti@linux.intel.com>
Reviewed-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Link: https://patch.msgid.link/20260611235844.3725147-1-matthew.brost@intel.com
(cherry picked from commit 0d81db90d364cb3d733410829118759f28957c5a)
Signed-off-by: Matthew Brost <matthew.brost@intel.com>
drivers/gpu/drm/xe/xe_device.c

index d224861b6f6fd954d506ad6e82c7943666688bbf..abe25aedeeadef60820247ec5e14678c321f0852 100644 (file)
@@ -526,7 +526,8 @@ int xe_device_init_early(struct xe_device *xe)
 
        err = ttm_device_init(&xe->ttm, &xe_ttm_funcs, xe->drm.dev,
                              xe->drm.anon_inode->i_mapping,
-                             xe->drm.vma_offset_manager, 0);
+                             xe->drm.vma_offset_manager,
+                             TTM_ALLOCATION_POOL_BENEFICIAL_ORDER(get_order(SZ_2M)));
        if (err)
                return err;