From mboxrd@z Thu Jan 1 00:00:00 1970
From: bugzilla-daemon@freedesktop.org
Subject: [Bug 92775] [radeon][TTM] Contention when evicting large buffers
between VRAM and GTT
Date: Fri, 25 Dec 2015 07:41:41 +0000
Message-ID:
References:
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="===============0945782495=="
Return-path:
Received: from culpepper.freedesktop.org (unknown [131.252.210.165])
by gabe.freedesktop.org (Postfix) with ESMTP id DDE066E221
for ; Thu, 24 Dec 2015 23:41:41 -0800 (PST)
In-Reply-To:
List-Unsubscribe: ,
List-Archive:
List-Post:
List-Help:
List-Subscribe: ,
Errors-To: dri-devel-bounces@lists.freedesktop.org
Sender: "dri-devel"
To: dri-devel@lists.freedesktop.org
List-Id: dri-devel@lists.freedesktop.org
--===============0945782495==
Content-Type: multipart/alternative; boundary="1451029301.aaD5Df0.23300"; charset="UTF-8"
--1451029301.aaD5Df0.23300
Date: Fri, 25 Dec 2015 07:41:41 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
https://bugs.freedesktop.org/show_bug.cgi?id=3D92775
--- Comment #1 from Michel D=C3=A4nzer ---
(In reply to Shawn Starr from comment #0)
> One solution discussed is to split up the transfer into smaller chunks in
> radeon_ttm.
Specifically, here's how I think a fallback could be implemented in the ker=
nel
driver which can never fail because of fragmentation or resource starvation:
During initialization, reserve some pinned GTT memory for bounce buffers. W=
hen
a BO can't be bound to GTT for eviction as in the case reported here, inste=
ad
do the eviction directly from VRAM to CPU domain in one or several passes o=
f:
1. Copy part of the BO from VRAM to one of the reserved bounce buffers in G=
TT
using the GPU.
2. Copy that part of the BO from the bounce buffer to the BO's system RAM p=
ages
using the CPU.
--=20
You are receiving this mail because:
You are the assignee for the bug.
--1451029301.aaD5Df0.23300
Date: Fri, 25 Dec 2015 07:41:41 +0000
MIME-Version: 1.0
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Comment=
# 1
on bug 92775<=
/a>
from Michel D=C3=A4nzer
(In reply to Shawn Starr from comment #0)
> One solution discussed is to split up the transf=
er into smaller chunks in
> radeon_ttm.
Specifically, here's how I think a fallback could be implemented in the ker=
nel
driver which can never fail because of fragmentation or resource starvation:
During initialization, reserve some pinned GTT memory for bounce buffers. W=
hen
a BO can't be bound to GTT for eviction as in the case reported here, inste=
ad
do the eviction directly from VRAM to CPU domain in one or several passes o=
f:
1. Copy part of the BO from VRAM to one of the reserved bounce buffers in G=
TT
using the GPU.
2. Copy that part of the BO from the bounce buffer to the BO's system RAM p=
ages
using the CPU.
You are receiving this mail because:
=20=20=20=20=20=20
- You are the assignee for the bug.
--1451029301.aaD5Df0.23300--
--===============0945782495==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVs
IG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0
cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK
--===============0945782495==--