[PATCH 0/2] drm/i915: Fix ttm small BAR placement handling

David Gow david at davidgow.net
Sun Aug 4 09:18:46 UTC 2024


From: David Gow <david at ingeniumdigital.com>

As described in [1], there have been a couple of regressions in the TTM
placement handling for i915, which adversely affect DG2 systems with
small BAR.  In particular, performance become very poor when eviction
from the mappable BAR memory is required, as suboptimal placements can
be preferred, leading to thrashing. This often leads to hangs of >10s,
during which even the compositor is unusable.

These regressions were largely introduced during the flag rework in
commit a78a8da51b36 ("drm/ttm: replace busy placement with flags v6").

The first patch has already been sent out[2]. I'm resending it as part
of this series which fixes both known regressions.

Thanks to Justin Brewer for bisecting the issue.

Cheers,
-- David

[1]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11255
[2]: https://lore.kernel.org/dri-devel/20240722074540.15295-1-david@davidgow.net/

---

David Gow (2):
  drm/i915: Allow evicting to use the requested placement
  drm/i915: Attempt to get pages without eviction first

 drivers/gpu/drm/i915/gem/i915_gem_ttm.c | 13 +++++++------
 1 file changed, 7 insertions(+), 6 deletions(-)

-- 
2.46.0



More information about the dri-devel mailing list