]> www.infradead.org Git - users/jedix/linux-maple.git/commit
drm/xe: Defer buffer object shrinker write-backs and GPU waits
authorThomas Hellström <thomas.hellstrom@linux.intel.com>
Tue, 5 Aug 2025 07:48:42 +0000 (09:48 +0200)
committerThomas Hellström <thomas.hellstrom@linux.intel.com>
Fri, 8 Aug 2025 08:24:55 +0000 (10:24 +0200)
commit80944d334182ce5eb27d00e2bf20a88bfc32dea1
tree93e211319365001a945dda99f520b5d5e41ab96d
parent9b7ca35ed28fe5fad86e9d9c24ebd1271e4c9c3e
drm/xe: Defer buffer object shrinker write-backs and GPU waits

When the xe buffer-object shrinker allows GPU waits and write-back,
(typically from kswapd), perform multiple passes, skipping
subsequent passes if the shrinker number of scanned objects target
is reached.

1) Without GPU waits and write-back
2) Without write-back
3) With both GPU-waits and write-back

This is to avoid stalls and costly write- and readbacks unless they
are really necessary.

v2:
- Don't test for scan completion twice. (Stuart Summers)
- Update tags.

Reported-by: melvyn <melvyn2@dnsense.pub>
Closes: https://gitlab.freedesktop.org/drm/xe/kernel/-/issues/5557
Cc: Summers Stuart <stuart.summers@intel.com>
Fixes: 00c8efc3180f ("drm/xe: Add a shrinker for xe bos")
Cc: <stable@vger.kernel.org> # v6.15+
Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Reviewed-by: Stuart Summers <stuart.summers@intel.com>
Link: https://lore.kernel.org/r/20250805074842.11359-1-thomas.hellstrom@linux.intel.com
drivers/gpu/drm/xe/xe_shrinker.c