[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20240804091851.122186-1-david@davidgow.net>
Date: Sun, 4 Aug 2024 17:18:46 +0800
From: David Gow <david@...idgow.net>
To: Christian König <ckoenig.leichtzumerken@...il.com>,
Somalapuram Amaranath <Amaranath.Somalapuram@....com>,
Thomas Hellström <thomas.hellstrom@...ux.intel.com>,
Lucas De Marchi <lucas.demarchi@...el.com>,
Andi Shyti <andi.shyti@...ux.intel.com>,
Thomas Zimmermann <tzimmermann@...e.de>
Cc: David Gow <david@...eniumdigital.com>,
Jani Nikula <jani.nikula@...ux.intel.com>,
Joonas Lahtinen <joonas.lahtinen@...ux.intel.com>,
Rodrigo Vivi <rodrigo.vivi@...el.com>,
Tvrtko Ursulin <tursulin@...ulin.net>,
Ville Syrjälä <ville.syrjala@...ux.intel.com>,
intel-gfx@...ts.freedesktop.org,
dri-devel@...ts.freedesktop.org,
linux-kernel@...r.kernel.org
Subject: [PATCH 0/2] drm/i915: Fix ttm small BAR placement handling
From: David Gow <david@...eniumdigital.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
Powered by blists - more mailing lists