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 08:16:12 +0000 Message-ID: References: Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="===============1069252530==" Return-path: Received: from culpepper.freedesktop.org (unknown [131.252.210.165]) by gabe.freedesktop.org (Postfix) with ESMTP id 3A8E66E219 for ; Fri, 25 Dec 2015 00:16:12 -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 --===============1069252530== Content-Type: multipart/alternative; boundary="1451031372.cDD40.32626"; charset="UTF-8" --1451031372.cDD40.32626 Date: Fri, 25 Dec 2015 08:16:12 +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 #2 from david1.zhou@amd.com --- (In reply to Michel D=C3=A4nzer from comment #1) > (In reply to Shawn Starr from comment #0) > > One solution discussed is to split up the transfer into smaller chunks = in > > radeon_ttm. >=20 > Specifically, here's how I think a fallback could be implemented in the > kernel driver which can never fail because of fragmentation or resource > starvation: >=20 > During initialization, reserve some pinned GTT memory for bounce buffers. > When a BO can't be bound to GTT for eviction as in the case reported here, > instead do the eviction directly from VRAM to CPU domain in one or several > passes of: > 1. Copy part of the BO from VRAM to one of the reserved bounce buffers in > GTT using the GPU. > 2. Copy that part of the BO from the bounce buffer to the BO's system RAM > pages using the CPU. if we can split a large BO to two parts, one is in VRAM, one is in GTT, see= ms also to be helpful for this case. --=20 You are receiving this mail because: You are the assignee for the bug. --1451031372.cDD40.32626 Date: Fri, 25 Dec 2015 08:16:12 +0000 MIME-Version: 1.0 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable

Comment= # 2 on bug 92775<= /a> from david1.zhou@amd.com
(In reply to Michel D=C3=A4nzer from comment #1)
> (In reply to Shawn Starr from comment #0)
> > One solution discussed is to split up the transfer into smaller c=
hunks in
> > radeon_ttm.
>=20
> Specifically, here's how I think a fallback could be implemented in the
> kernel driver which can never fail because of fragmentation or resource
> starvation:
>=20
> During initialization, reserve some pinned GTT memory for bounce buffe=
rs.
> When a BO can't be bound to GTT for eviction as in the case reported h=
ere,
> instead do the eviction directly from VRAM to CPU domain in one or sev=
eral
> passes of:
> 1. Copy part of the BO from VRAM to one of the reserved bounce buffers=
 in
> GTT using the GPU.
> 2. Copy that part of the BO from the bounce buffer to the BO's system =
RAM
> pages using the CPU.


if we can split a large BO to two parts, one is in VRAM, one is in GTT, see=
ms
also to be helpful for this case.


You are receiving this mail because: =20=20=20=20=20=20
  • You are the assignee for the bug.
--1451031372.cDD40.32626-- --===============1069252530== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: inline X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVs IG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0 cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK --===============1069252530==--