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

David Gow posted 2 patches 1 year, 4 months ago
drivers/gpu/drm/i915/gem/i915_gem_ttm.c | 13 +++++++------
1 file changed, 7 insertions(+), 6 deletions(-)
[PATCH 0/2] drm/i915: Fix ttm small BAR placement handling
Posted by David Gow 1 year, 4 months ago
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
Re: [PATCH 0/2] drm/i915: Fix ttm small BAR placement handling
Posted by Andi Shyti 1 year, 4 months ago
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