[Bug 110781] Radeon: heavy r300 performance drop regression between 11.x and 19.x

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Wed May 29 10:16:59 UTC 2019


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

--- Comment #3 from Richard Thier <u9vata at gmail.com> ---
When doing an strace this is what I am getting:

  ...
  ioctl(6, DRM_IOCTL_RADEON_GEM_CREATE, 0xbfafd880) = 0 <0.000068>
   > [vdso]() [0x891]
  ioctl(6, DRM_IOCTL_RADEON_CS, 0xafe2404c) = 0 <0.000102>
   > [vdso]() [0x891]
  ioctl(6, DRM_IOCTL_RADEON_GEM_WAIT_IDLE, 0xbfafd9c4) = 0 <0.000030>
   > [vdso]() [0x891]
  ioctl(6, DRM_IOCTL_GEM_CLOSE, 0xbfafd99c) = 0 <0.000043>
   > [vdso]() [0x891]
  ioctl(6, DRM_IOCTL_RADEON_GEM_CREATE, 0xbfafd880) = 0 <0.000070>
   > [vdso]() [0x891]
  ioctl(6, DRM_IOCTL_RADEON_CS, 0xafe380e0) = 0 <0.000088>
   > [vdso]() [0x891]
  ioctl(6, DRM_IOCTL_RADEON_GEM_WAIT_IDLE, 0xbfafd9c4) = 0 <0.000029>
   > [vdso]() [0x891]
  ioctl(6, DRM_IOCTL_GEM_CLOSE, 0xbfafd99c) = 0 <0.000047>
   > [vdso]() [0x891]
  ...

These continously appear in the mesa+xorg combination that is slow. I have no
idea if the same is happening in the old 11.x version where speed is still good
(sadly I could not try a later mesa between 11.x and 19.x so far, but I quess
some of them works fast still).

I have tried reverting the following changes manually in my mesa.git version:

1.
https://github.com/mesa3d/mesa/commit/9ac5504df5c31e60801d9d37c1f3d547c486bf0a
2.
https://github.com/mesa3d/mesa/commit/a1e391e39df2b1d8169e773a30153167ab8e13e8
3.
https://github.com/mesa3d/mesa/commit/0e40c6a7b70673734dfecf5957c086b30f11befe

Actually after reverting the latter things got 1FPS slower than with unchanged
19.x, but the first two have helped a very small amount.

In my journey to find the slowdown I started to look around "radeon_create_bo"
and "radeon_winsys_bo_create" so that is how I was trying to revert exactly
these changes because these seemed to be maybe relevant using git blame lookup.

If anyone knows where to look further or have any idea about my problem (maybe
on the level of X or other parts of mesa making a lot of "bo"s?) please tell me
:-)

What is "bo" in this sense btw? Is there any documentation I should read to
understand these acronyms in the code? It takes considerable amount of time to
understand that cs is some kind of "command stream" (still unsure) and bo is
some kind of "buffer object" while I have no idea about "pb_" and a lot of
other things and not even knowing if a bo is a general buffer for anything
(vertex buffers, constant buffers, backbuffers, zbuffers,
who-knows-what-else-stuff) or just for one specific thing here. Is there a list
for advised reading before touching the code as a noob like me?

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/dri-devel/attachments/20190529/14b42e1d/attachment-0001.html>


More information about the dri-devel mailing list