dri-devel.lists.freedesktop.org archive mirror
 help / color / mirror / Atom feed
From: bugzilla-daemon@freedesktop.org
To: dri-devel@lists.freedesktop.org
Subject: [Bug 45018] [bisected] rendering regression since added support for virtual address space on cayman v11
Date: Wed, 01 Aug 2012 01:18:00 +0000	[thread overview]
Message-ID: <bug-45018-502-GUtLQU6fkL@http.bugs.freedesktop.org/> (raw)
In-Reply-To: <bug-45018-502@http.bugs.freedesktop.org/>

https://bugs.freedesktop.org/show_bug.cgi?id=45018

--- Comment #71 from awaters1@gmail.com <awaters1@gmail.com> 2012-08-01 01:18:00 UTC ---
I have been having this same issue with respect to rendering regressions, I
have also experienced the error relating to va conflicts.  I investigated it a
bit and I think the cause of the rendering regression is when a va is freed
through radeon_bomgr_free_va and subsequently used again in
radeon_bomgr_find_va the GPU isn't done with the memory and it gets overwritten
before the GPU is done.

I experimented with this a bit and by not reusing any va_holes in
radeon_bomgr_find_va the rendering regression goes away, at the expense of
continually eating up the memory.  So I looked around a way to make it so the
va was only freed when it wasn't used any more, and it turns out that worked as
well.

In order to test this I placed a call to radeon_bo_wait before
radeon_bomgr_free_va is called within radeon_bo_destroy, the code looks
something like in radeon_drm_bo.c
    if (mgr->va) {
        radeon_bo_wait(bo, RADEON_USAGE_READWRITE);
        radeon_bomgr_free_va(mgr, bo->va, bo->va_size);
    }

It causes busy waiting currently and could be improved by tracking the
destroyed bos that need to be freed from va when they are not busy, if this is
ultimately the way to solve it.

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.

  parent reply	other threads:[~2012-08-01  1:17 UTC|newest]

Thread overview: 132+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-01-21  6:00 [Bug 45018] New: [bisected] rendering regression since added support for virtual address space on cayman v11 bugzilla-daemon
2012-01-20 22:03 ` [Bug 45018] " bugzilla-daemon
2012-01-21  6:04 ` bugzilla-daemon
2012-01-21 14:48 ` bugzilla-daemon
2012-01-21 15:06 ` bugzilla-daemon
2012-01-21 15:06 ` bugzilla-daemon
2012-01-21 15:07 ` bugzilla-daemon
2012-01-23 15:40 ` bugzilla-daemon
2012-01-23 15:40 ` bugzilla-daemon
2012-01-24  6:20 ` bugzilla-daemon
2012-01-25 18:01 ` bugzilla-daemon
2012-01-28  5:59 ` bugzilla-daemon
2012-01-28 12:52 ` bugzilla-daemon
2012-02-01  0:35 ` bugzilla-daemon
2012-02-03 23:10 ` bugzilla-daemon
2012-02-04  3:26 ` bugzilla-daemon
2012-02-06  1:45 ` bugzilla-daemon
2012-02-14 22:44 ` bugzilla-daemon
2012-02-15 23:54 ` bugzilla-daemon
2012-02-16 16:31 ` bugzilla-daemon
2012-02-17  0:19 ` bugzilla-daemon
2012-02-18 16:39 ` bugzilla-daemon
2012-02-18 16:39 ` bugzilla-daemon
2012-02-18 16:40 ` bugzilla-daemon
2012-02-18 16:42 ` bugzilla-daemon
2012-02-18 17:37 ` bugzilla-daemon
2012-02-19 13:39 ` bugzilla-daemon
2012-02-21 17:44 ` bugzilla-daemon
2012-02-22  4:25 ` bugzilla-daemon
2012-02-22 14:32 ` bugzilla-daemon
2012-02-22 17:50 ` bugzilla-daemon
2012-02-26  0:03 ` bugzilla-daemon
2012-02-26  1:31 ` bugzilla-daemon
2012-02-28  1:24 ` bugzilla-daemon
2012-03-02 15:10 ` bugzilla-daemon
2012-03-04 12:07 ` bugzilla-daemon
2012-03-04 13:38 ` bugzilla-daemon
2012-03-04 16:06 ` bugzilla-daemon
2012-03-04 21:46 ` bugzilla-daemon
2012-03-04 22:30 ` bugzilla-daemon
2012-03-05  0:24 ` bugzilla-daemon
2012-03-05 20:40 ` bugzilla-daemon
2012-03-07  6:25 ` bugzilla-daemon
2012-03-20 18:50 ` bugzilla-daemon
2012-03-20 19:11 ` bugzilla-daemon
2012-03-21 14:35 ` bugzilla-daemon
2012-03-22  4:11 ` bugzilla-daemon
2012-04-04  2:24 ` bugzilla-daemon
2012-04-23  5:56 ` bugzilla-daemon
2012-04-25  7:11 ` bugzilla-daemon
2012-04-25 13:41 ` bugzilla-daemon
2012-04-25 15:21 ` bugzilla-daemon
2012-04-25 15:59 ` bugzilla-daemon
2012-04-25 16:16 ` bugzilla-daemon
2012-04-26 18:50 ` bugzilla-daemon
2012-04-26 21:19 ` bugzilla-daemon
2012-04-27  2:41 ` bugzilla-daemon
2012-05-05  4:21 ` bugzilla-daemon
2012-05-07 10:07 ` bugzilla-daemon
2012-05-30 18:18 ` bugzilla-daemon
2012-06-04  1:26 ` bugzilla-daemon
2012-06-05 19:18 ` bugzilla-daemon
2012-06-06  2:19 ` bugzilla-daemon
2012-06-06  2:20 ` bugzilla-daemon
2012-06-06  9:15 ` bugzilla-daemon
2012-06-06 22:37 ` bugzilla-daemon
2012-07-10  7:21 ` bugzilla-daemon
2012-07-10  7:22 ` bugzilla-daemon
2012-07-10  7:23 ` bugzilla-daemon
2012-07-24  1:49 ` bugzilla-daemon
2012-07-24 13:53 ` bugzilla-daemon
2012-07-26  1:11 ` bugzilla-daemon
2012-07-28  1:26 ` bugzilla-daemon
2012-07-31 15:10 ` bugzilla-daemon
2012-08-01  1:18 ` bugzilla-daemon [this message]
2012-08-01  2:09 ` bugzilla-daemon
2012-08-01  2:14 ` bugzilla-daemon
2012-08-01  2:15 ` bugzilla-daemon
2012-08-01  3:26 ` bugzilla-daemon
2012-08-01  3:40 ` bugzilla-daemon
2012-08-01 16:09 ` bugzilla-daemon
2012-08-01 16:59 ` bugzilla-daemon
2012-08-01 18:06 ` bugzilla-daemon
2012-08-02  0:41 ` bugzilla-daemon
2012-08-02  0:47 ` bugzilla-daemon
2012-08-02  1:02 ` bugzilla-daemon
2012-08-02  3:46 ` bugzilla-daemon
2012-08-03  1:28 ` bugzilla-daemon
2012-08-03  2:07 ` bugzilla-daemon
2012-08-03  3:00 ` bugzilla-daemon
2012-08-03  6:03 ` bugzilla-daemon
2012-08-03  7:47 ` bugzilla-daemon
2012-08-03  8:05 ` bugzilla-daemon
2012-08-03  8:13 ` bugzilla-daemon
2012-08-03 12:58 ` bugzilla-daemon
2012-08-03 13:21 ` bugzilla-daemon
2012-08-03 13:26 ` bugzilla-daemon
2012-08-03 14:39 ` bugzilla-daemon
2012-08-03 14:51 ` bugzilla-daemon
2012-08-03 15:03 ` bugzilla-daemon
2012-08-03 15:20 ` bugzilla-daemon
2012-08-03 16:54 ` bugzilla-daemon
2012-08-03 16:56 ` bugzilla-daemon
2012-08-03 16:59 ` bugzilla-daemon
2012-08-03 17:05 ` bugzilla-daemon
2012-08-03 19:04 ` bugzilla-daemon
2012-08-03 19:05 ` bugzilla-daemon
2012-08-03 19:44 ` bugzilla-daemon
2012-08-03 19:46 ` bugzilla-daemon
2012-08-04  2:05 ` bugzilla-daemon
2012-08-04  3:55 ` bugzilla-daemon
2012-08-04  3:56 ` [Bug 45018] [bisected] rendering regression and va conflicts " bugzilla-daemon
2012-08-05  4:29 ` bugzilla-daemon
2012-08-05  4:34 ` bugzilla-daemon
2012-08-08 10:48 ` bugzilla-daemon
2012-08-08 13:29 ` bugzilla-daemon
2012-08-09  1:38 ` bugzilla-daemon
2012-08-09  5:20 ` bugzilla-daemon
2012-08-09 14:14 ` bugzilla-daemon
2012-08-09 14:56 ` bugzilla-daemon
2012-08-09 15:24 ` bugzilla-daemon
2012-08-09 18:50 ` bugzilla-daemon
2012-08-11  4:49 ` bugzilla-daemon
2012-08-15 16:07 ` bugzilla-daemon
2012-08-16  0:38 ` bugzilla-daemon
2012-08-16 15:35 ` bugzilla-daemon
2012-08-16 16:59 ` bugzilla-daemon
2012-08-16 20:10 ` bugzilla-daemon
2012-08-16 21:03 ` bugzilla-daemon
2012-08-17  3:00 ` bugzilla-daemon
2012-08-17  3:18 ` bugzilla-daemon
2012-08-17  7:26 ` bugzilla-daemon

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=bug-45018-502-GUtLQU6fkL@http.bugs.freedesktop.org/ \
    --to=bugzilla-daemon@freedesktop.org \
    --cc=dri-devel@lists.freedesktop.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).