mbox series

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

Message ID 20240804091851.122186-1-david@davidgow.net (mailing list archive)
Headers show
Series drm/i915: Fix ttm small BAR placement handling | expand

Message

David Gow Aug. 4, 2024, 9:18 a.m. UTC
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(-)

Comments

Andi Shyti Aug. 6, 2024, 4:14 p.m. UTC | #1
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