From: bugzilla-daemon@freedesktop.org
To: dri-devel@lists.freedesktop.org
Subject: [Bug 110781] Radeon: heavy r300 performance drop regression between 11.x and 19.x
Date: Tue, 28 May 2019 11:51:35 +0000 [thread overview]
Message-ID: <bug-110781-502@http.bugs.freedesktop.org/> (raw)
[-- Attachment #1.1: Type: text/plain, Size: 4965 bytes --]
https://bugs.freedesktop.org/show_bug.cgi?id=110781
Bug ID: 110781
Summary: Radeon: heavy r300 performance drop regression between
11.x and 19.x
Product: Mesa
Version: git
Hardware: x86 (IA32)
OS: Linux (All)
Status: NEW
Severity: normal
Priority: medium
Component: Drivers/Gallium/r300
Assignee: dri-devel@lists.freedesktop.org
Reporter: u9vata@gmail.com
QA Contact: dri-devel@lists.freedesktop.org
Dear mesa/freedesktop team!
I am a happy user of the open source radeon r300 driver for my Mobility radeon
200M card in my (pretty old, but good-enough) laptop.
I have updated my system + changed distro and got a complete slowdown. I have
checked if it is the kernel or the distro and found that I can get back my
performance if I revert to mesa 11.x and corresponding xorg while still using
the latest linux kernel. This seems to be some kind of performance regression.
The performance drop is heavy: 50%..100% slowdown and very high CPU usage. For
example now extreme tux racer reports 100% CPU usage and before it reports
25-50% at maximum (including any spikes) and mostly around 30% actually when
averaging.
I have used the perf tool to locate what causes the heavy CPU usage and I find
that there is a lot of memory movements in a create_bo call.
See this log:
Samples: 171K of event 'cycles', Event count (approx.): 67632101793
Children Self Command Shared Object Symbol
- 61,12% 0,09% etr [kernel.vmlinux] [k]
entry_SYSENTER_32 ◆
- 61,07% entry_SYSENTER_32
- 60,94% do_fast_syscall_32
- 57,92% sys_ioctl
- 57,84% do_vfs_ioctl
- 57,43% radeon_drm_ioctl
- 57,04% drm_ioctl
- 56,81% drm_ioctl_kernel
- 55,86% radeon_gem_create_ioctl
- 55,46% radeon_gem_object_create
- 55,36% radeon_bo_create
- 55,20% ttm_bo_init
- 55,14% ttm_bo_init_reserved
- 54,75% ttm_bo_validate
- 54,42% ttm_bo_handle_move_mem
- 54,07% ttm_tt_bind
- 53,36% radeon_ttm_tt_populate
+ 53,33% ttm_populate_and_map_pages
0,62% radeon_ttm_backend_bind
I see these are code paths in the kernel, but the same happens regardless I use
an old kernel (and modules) or the newest one, while this gets a near complete
disappear when I revert to old mesa and X.
I do not see anything related to bo (buffer object??) creation in mesa sources
below the gallium/r300 directory, but I have found things that make ioctl in:
gallium/winsys/radeon/drm/radeon_drm_bo.c
^^Is this also used for r300 cards? The "source tree" documentation page seems
to tell me this is a "shared code for r600 and radeonsi", but where is r300
doing calls to the ioctls then?
Something happened in the last 1-3 years that changed stuff to move memory
around crazily for some reason and use more CPU for that. Surely it was not
having this heavy slowdown before. Now it is nearly as slow as llvmpipe for
practical cases (but not slower!).
Can anyone help me with this? I am a developer myself, but I am not well versed
in the source code of mesa and in how to analyse its performance bottlenecks.
PS.: On phoronix I was already analysing the problem for long:
https://www.phoronix.com/forums/forum/linux-graphics-x-org-drivers/open-source-amd-linux/1099745-how-to-tell-if-a-driver-is-gallium-or-just-mesa-slow-renderng-with-radeon
^^There the whole process of what I was trying is written with every step, but
maybe only perf outputs are of interest from there...
Feel free to ask me anything about the issue. If I would be able to help
solving this myself I will be happy too, but I have never really did any
patches to these kind of core system libraries and I am quite rookie for gpu
drivers...
--
You are receiving this mail because:
You are the assignee for the bug.
[-- Attachment #1.2: Type: text/html, Size: 6542 bytes --]
[-- Attachment #2: Type: text/plain, Size: 159 bytes --]
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
next reply other threads:[~2019-05-28 11:51 UTC|newest]
Thread overview: 71+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-05-28 11:51 bugzilla-daemon [this message]
2019-05-28 11:54 ` [Bug 110781] Radeon: heavy r300 performance drop regression between 11.x and 19.x bugzilla-daemon
2019-05-28 16:19 ` bugzilla-daemon
2019-05-29 10:16 ` bugzilla-daemon
2019-05-29 10:32 ` bugzilla-daemon
2019-05-29 10:35 ` bugzilla-daemon
2019-05-29 15:49 ` bugzilla-daemon
2019-05-29 23:17 ` bugzilla-daemon
2019-05-30 12:23 ` bugzilla-daemon
2019-05-31 8:21 ` bugzilla-daemon
2019-06-02 20:42 ` bugzilla-daemon
2019-06-03 8:47 ` bugzilla-daemon
2019-06-03 10:11 ` bugzilla-daemon
2019-06-03 10:49 ` bugzilla-daemon
2019-06-03 12:35 ` bugzilla-daemon
2019-06-03 12:50 ` bugzilla-daemon
2019-06-03 12:50 ` bugzilla-daemon
2019-06-03 13:36 ` bugzilla-daemon
2019-06-03 18:52 ` bugzilla-daemon
2019-06-03 20:19 ` bugzilla-daemon
2019-06-03 20:51 ` bugzilla-daemon
2019-06-04 4:22 ` bugzilla-daemon
2019-06-04 5:50 ` bugzilla-daemon
2019-06-04 6:30 ` bugzilla-daemon
2019-06-04 6:48 ` bugzilla-daemon
2019-06-04 6:53 ` bugzilla-daemon
2019-06-04 7:56 ` bugzilla-daemon
2019-06-04 8:24 ` bugzilla-daemon
2019-06-04 9:43 ` bugzilla-daemon
2019-06-04 10:02 ` bugzilla-daemon
2019-06-04 10:23 ` bugzilla-daemon
2019-06-04 10:27 ` bugzilla-daemon
2019-06-04 10:33 ` bugzilla-daemon
2019-06-04 10:37 ` bugzilla-daemon
2019-06-04 12:43 ` bugzilla-daemon
2019-06-04 23:09 ` bugzilla-daemon
2019-06-05 9:52 ` bugzilla-daemon
2019-06-05 15:10 ` bugzilla-daemon
2019-06-05 16:14 ` bugzilla-daemon
2019-06-05 20:35 ` bugzilla-daemon
2019-06-05 20:50 ` bugzilla-daemon
2019-06-05 21:13 ` bugzilla-daemon
2019-06-05 22:47 ` bugzilla-daemon
2019-06-06 3:02 ` bugzilla-daemon
2019-06-06 17:46 ` bugzilla-daemon
2019-06-06 19:50 ` bugzilla-daemon
2019-06-07 1:48 ` bugzilla-daemon
2019-06-07 6:36 ` bugzilla-daemon
2019-06-07 8:05 ` bugzilla-daemon
2019-06-07 8:22 ` bugzilla-daemon
2019-06-07 8:38 ` bugzilla-daemon
2019-06-07 8:49 ` bugzilla-daemon
2019-06-07 14:43 ` bugzilla-daemon
2019-06-07 14:56 ` bugzilla-daemon
2019-06-07 15:10 ` bugzilla-daemon
2019-06-07 15:20 ` bugzilla-daemon
2019-06-07 15:25 ` bugzilla-daemon
2019-06-07 16:23 ` bugzilla-daemon
2019-06-07 19:23 ` bugzilla-daemon
2019-06-07 20:12 ` bugzilla-daemon
2019-06-08 3:28 ` bugzilla-daemon
2019-06-08 6:51 ` bugzilla-daemon
2019-06-08 16:43 ` bugzilla-daemon
2019-06-10 22:34 ` bugzilla-daemon
2019-06-11 11:23 ` bugzilla-daemon
2019-06-11 17:12 ` bugzilla-daemon
2019-06-11 17:33 ` bugzilla-daemon
2019-06-11 18:24 ` bugzilla-daemon
2019-06-11 23:14 ` bugzilla-daemon
2019-06-12 0:46 ` bugzilla-daemon
2019-06-24 8:44 ` 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-110781-502@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).