Bug 79806 - Performance degradation after resume
Summary: Performance degradation after resume
Status: RESOLVED MOVED
Alias: None
Product: DRI
Classification: Unclassified
Component: DRM/Radeon (show other bugs)
Version: unspecified
Hardware: x86-64 (AMD64) Linux (All)
: low normal
Assignee: Default DRI bug account
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-06-08 20:02 UTC by Gabor Enyedi
Modified: 2019-11-19 08:50 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments

Description Gabor Enyedi 2014-06-08 20:02:26 UTC
I have a Radeon HD 4350/4550 (RV770) card in my notebook. After resuming from suspend, there is a significant 3D performance drop (a bit less than 1/4 of original performance remains). The performance drop is exactly at the same level as it is after "echo low > /sys/class/drm/card0/device/power_dpm_force_performance_level", albeit power_dpm_force_performance_level still contains "auto".

Bug is found in Ubuntu 14.04, but it was there at least since 13.10 (I have just found the workaround). The bug is there with kernel 3.13 (official), with 3.14 mainline and 3.15-RC8 which was build for Ubuntu 14.10.

Workaround: when resume, execute "echo auto > /sys/class/drm/card0/device/power_dpm_force_performance_level".
Comment 1 Gabor Enyedi 2014-06-09 05:45:28 UTC
/sys/kernel/debug/dri/64/radeon_pm_info also shows, that the card always stays in the lowest performance level.
Comment 2 Chernovsky Oleg 2014-06-26 18:00:46 UTC
I have the same issue. Can provide any additional info needed.

Arch x64, Linux 3.15.1, mesa 10.2.2, ati-dri 10.2.2
Comment 3 Chernovsky Oleg 2014-06-26 18:11:43 UTC
> Workaround: when resume, execute "echo auto >
> /sys/class/drm/card0/device/power_dpm_force_performance_level".

How did you do that? It gives me "echo: write error: Invalid argument" on kernel 3.15
Comment 4 Gabor Enyedi 2014-07-04 17:23:27 UTC
(In reply to comment #3)
> > Workaround: when resume, execute "echo auto >
> > /sys/class/drm/card0/device/power_dpm_force_performance_level".
> 
> How did you do that? It gives me "echo: write error: Invalid argument" on
> kernel 3.15

It simply works without any trick. It also works with stock kernel 3.13. Are you sure that you have the same ATI card?

What I have found since I have posted the bug is that sometimes (very rarely) this simple workaround is not enough. Now, I use the following:

echo low > /sys/class/drm/card0/device/power_dpm_force_performance_level
echo battery > /sys/class/drm/card0/device/power_dpm_state
echo auto > /sys/class/drm/card0/device/power_dpm_force_performance_level
echo balanced > /sys/class/drm/card0/device/power_dpm_state
Comment 5 Gabor Enyedi 2014-07-04 17:28:29 UTC
One more! If you (or anyone else) don't have the same card, but have some similar issue, you should check if the problem is the same or not (i.e. that the card does not turn up performance, when needed). Give some 3D load (e.g. glmark2), and check /sys/kernel/debug/dri/64/radeon_pm_info.(In reply to comment #3)
> > Workaround: when resume, execute "echo auto >
> > /sys/class/drm/card0/device/power_dpm_force_performance_level".
> 
> How did you do that? It gives me "echo: write error: Invalid argument" on
> kernel 3.15

One more! If you (or anyone else) don't have the same card, but have some similar issue, you should check if the problem is the same or not (i.e. that the card does not turn up performance, when needed). Give some 3D load (e.g. glmark2), and check /sys/kernel/debug/dri/64/radeon_pm_info.
Comment 6 Chernovsky Oleg 2014-07-15 16:16:16 UTC
> 
> It simply works without any trick. It also works with stock kernel 3.13. Are
> you sure that you have the same ATI card?
> 

No, I have Radeon R7 260X, so it uses RadeonSI mesa driver. But I did some research and it appears Radeon DPM is now turned on by default (on latest kernel 3.15) and people complain abount non-working /proc variables everywhere. So sadly, currently there's no clue for me.
Comment 7 Chernovsky Oleg 2014-07-15 16:17:27 UTC
> One more! If you (or anyone else) don't have the same card, but have some
> similar issue, you should check if the problem is the same or not (i.e. that
> the card does not turn up performance, when needed). Give some 3D load (e.g.
> glmark2), and check /sys/kernel/debug/dri/64/radeon_pm_info.

I'll try it in my spare time and post results here.
Comment 8 Chernovsky Oleg 2014-07-15 16:31:19 UTC
So I bencmarked my card as you said and here are the results:
=======================================================
    glmark2 2014.03
=======================================================
    OpenGL Information
    GL_VENDOR:     X.Org
    GL_RENDERER:   Gallium 0.4 on AMD BONAIRE
    GL_VERSION:    3.0 Mesa 10.2.3
=======================================================


Before suspend:

power level avg    sclk: 116000 mclk: 165000

glmark:
[build] use-vbo=false: FPS: 4266 FrameTime: 0.234 ms
[build] use-vbo=true: FPS: 4806 FrameTime: 0.208 ms
[texture] texture-filter=nearest: FPS: 4270 FrameTime: 0.234 ms
[texture] texture-filter=linear: FPS: 4332 FrameTime: 0.231 ms
[texture] texture-filter=mipmap: FPS: 4451 FrameTime: 0.225 ms
[shading] shading=gouraud: FPS: 4361 FrameTime: 0.229 ms
[shading] shading=blinn-phong-inf: FPS: 4363 FrameTime: 0.229 ms
[shading] shading=phong: FPS: 4340 FrameTime: 0.230 ms
[shading] shading=cel: FPS: 4330 FrameTime: 0.231 ms
[bump] bump-render=high-poly: FPS: 3666 FrameTime: 0.273 ms
[bump] bump-render=normals: FPS: 4717 FrameTime: 0.212 ms
[bump] bump-render=height: FPS: 4688 FrameTime: 0.213 ms

================================================================

After suspend:

power level avg    sclk: 28250 mclk: 15000

glmark:
[build] use-vbo=false: FPS: 392 FrameTime: 2.551 ms
[build] use-vbo=true: FPS: 433 FrameTime: 2.309 ms
[texture] texture-filter=nearest: FPS: 340 FrameTime: 2.941 ms
[texture] texture-filter=linear: FPS: 315 FrameTime: 3.175 ms
[texture] texture-filter=mipmap: FPS: 369 FrameTime: 2.710 ms
[shading] shading=gouraud: FPS: 311 FrameTime: 3.215 ms
[shading] shading=blinn-phong-inf: FPS: 327 FrameTime: 3.058 ms
[shading] shading=phong: FPS: 341 FrameTime: 2.933 ms
[shading] shading=cel: FPS: 340 FrameTime: 2.941 ms
[bump] bump-render=high-poly: FPS: 294 FrameTime: 3.401 ms
[bump] bump-render=normals: FPS: 370 FrameTime: 2.703 ms
[bump] bump-render=height: FPS: 371 FrameTime: 2.695 ms
Comment 9 Martin Peres 2019-11-19 08:50:16 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/drm/amd/issues/502.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.