-
- Downloads
"git@ssh.gitlab.freedesktop.org:lumag/msm.git" did not exist on "1d5e01dfa3410bc94476e3050485852d6bba3fe0"
drm/xe: Add a shrinker for xe bos
Rather than relying on the TTM watermark accounting add a shrinker for xe_bos in TT or system memory. Leverage the newly added TTM per-page shrinking and shmem backup support. Although xe doesn't fully support WONTNEED (purgeable) bos yet, introduce and add shrinker support for purgeable ttm_tts. v2: - Cleanups bugfixes and a KUNIT shrinker test. - Add writeback support, and activate if kswapd. v3: - Move the try_shrink() helper to core TTM. - Minor cleanups. v4: - Add runtime pm for the shrinker. Shrinking may require an active device for CCS metadata copying. v5: - Separately purge ghost- and zombie objects in the shrinker. - Fix a format specifier - type inconsistency. (Kernel test robot). v7: - s/long/s64/ (Christian König) - s/sofar/progress/ (Matt Brost) v8: - Rebase on Xe KUNIT update. - Add content verifying to the shrinker kunit test. - Split out TTM changes to a separate patch. - Get rid of multiple bool arguments for clarity (Matt Brost) - Avoid an error pointer dereference (Matt Brost) - Avoid an integer overflow (Matt Auld) - Address misc review comments by Matt Brost. v9: - Fix a compliation error. - Rebase. v10: - Update to new LRU walk interface. - Rework ghost-, zombie and purged object shrinking. - Rebase. v11: - Use additional TTM helpers. - Honor __GFP_FS and __GFP_IO - Rebase. v13: - Use ttm_tt_setup_backup(). v14: - Don't set up backup on imported bos. v15: - Rebase on backup interface changes. Cc: Christian König <christian.koenig@amd.com> Cc: Somalapuram Amaranath <Amaranath.Somalapuram@amd.com> Cc: Matthew Brost <matthew.brost@intel.com> Cc: <dri-devel@lists.freedesktop.org> Signed-off-by:Thomas Hellström <thomas.hellstrom@linux.intel.com> Reviewed-by:
Matthew Brost <matthew.brost@intel.com> Acked-by:
Christian König <christian.koenig@amd.com> Link: https://lore.kernel.org/intel-xe/20250305092220.123405-7-thomas.hellstrom@linux.intel.com
Showing
- drivers/gpu/drm/xe/Makefile 1 addition, 0 deletionsdrivers/gpu/drm/xe/Makefile
- drivers/gpu/drm/xe/tests/xe_bo.c 5 additions, 1 deletiondrivers/gpu/drm/xe/tests/xe_bo.c
- drivers/gpu/drm/xe/xe_bo.c 185 additions, 17 deletionsdrivers/gpu/drm/xe/xe_bo.c
- drivers/gpu/drm/xe/xe_bo.h 36 additions, 0 deletionsdrivers/gpu/drm/xe/xe_bo.h
- drivers/gpu/drm/xe/xe_device.c 8 additions, 0 deletionsdrivers/gpu/drm/xe/xe_device.c
- drivers/gpu/drm/xe/xe_device_types.h 2 additions, 0 deletionsdrivers/gpu/drm/xe/xe_device_types.h
- drivers/gpu/drm/xe/xe_shrinker.c 258 additions, 0 deletionsdrivers/gpu/drm/xe/xe_shrinker.c
- drivers/gpu/drm/xe/xe_shrinker.h 18 additions, 0 deletionsdrivers/gpu/drm/xe/xe_shrinker.h
drivers/gpu/drm/xe/xe_shrinker.c
0 → 100644
drivers/gpu/drm/xe/xe_shrinker.h
0 → 100644
Please register or sign in to comment