Message ID | 20240804091851.122186-1-david@davidgow.net (mailing list archive) |
---|---|
Headers | show |
Series | drm/i915: Fix ttm small BAR placement handling | expand |
Hi David, thanks for the patches and thanks Justin for debugging the issue. I reviewed and merged it into drm-intel-gt-next. Thanks, Andi On Sun, Aug 04, 2024 at 05:18:46PM +0800, David Gow wrote: > From: David Gow <david@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
From: David Gow <david@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(-)