[PATCH 4/9] drm/amdgpu: Don't force BOs into visible VRAM if they can go to GTT instead
John Brooks
john at fastquake.com
Sat Jun 24 18:37:55 UTC 2017
On Sat, Jun 24, 2017 at 08:09:56PM +0200, Christian König wrote:
> Am 23.06.2017 um 19:39 schrieb John Brooks:
> >amdgpu_ttm_placement_init() callers that are using both VRAM and GTT as
> >domains usually don't want visible VRAM as a busy placement.
> >
> >Signed-off-by: John Brooks <john at fastquake.com>
>
> NAK to this as well. Some callers of amdgpu_ttm_placement_init() have hard
> placement limitations that BOs *MUST* be in VRAM (VM page tables and old UVD
> hardware).
>
> So changing that here will just break those under memory pressure.
>
> Regards,
> Christian.
Right, that was just some silly attempt at deduplication. I can rework it.
Thanks,
John
>
> >---
> > drivers/gpu/drm/amd/amdgpu/amdgpu_object.c | 10 +++++++++-
> > 1 file changed, 9 insertions(+), 1 deletion(-)
> >
> >diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c
> >index 751bc05..0ff555a 100644
> >--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c
> >+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c
> >@@ -138,7 +138,15 @@ static void amdgpu_ttm_placement_init(struct amdgpu_device *adev,
> > if (flags & AMDGPU_GEM_CREATE_VRAM_CONTIGUOUS)
> > places[c].flags |= TTM_PL_FLAG_CONTIGUOUS;
> >- busy_places[bc++] = places[c++];
> >+ /* Don't set limited visible VRAM as a busy placement if we can
> >+ * use GTT instead
> >+ */
> >+ if (!((flags & AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED) &&
> >+ adev->mc.visible_vram_size < adev->mc.real_vram_size &&
> >+ (domain & AMDGPU_GEM_DOMAIN_GTT)))
> >+ busy_places[bc++] = places[c];
> >+
> >+ c++;
> > }
> > if (domain & AMDGPU_GEM_DOMAIN_GTT) {
>
>
More information about the dri-devel
mailing list