Summary: | RX 480 sclk clock speed lowers when under load | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Product: | DRI | Reporter: | Christoph Haag <haagch> | ||||||||
Component: | DRM/AMDgpu | Assignee: | Default DRI bug account <dri-devel> | ||||||||
Status: | RESOLVED MOVED | QA Contact: | |||||||||
Severity: | normal | ||||||||||
Priority: | medium | ||||||||||
Version: | unspecified | ||||||||||
Hardware: | Other | ||||||||||
OS: | All | ||||||||||
Whiteboard: | |||||||||||
i915 platform: | i915 features: | ||||||||||
Attachments: |
|
Created attachment 129918 [details]
screenshot with echo auto > power_dpm_force_performance_level
On "auto" the sclk clock speeds resets by itself properly, but the clock speed under load is not raised to the levels where it should be, for example when running furmark all bars in radeontop show >95% load, yet the sclk is at level 1: 608Mhz.
Created attachment 129919 [details]
dmesg with linux 4.8
Some more experimentation: The SaschaWillems Vulkan examples that cause a lot of gpu load (like computecullandlod) make the GPU run at the highest performance level. McNoppers OpenGL Example30 (raytracing with compute shaders) does the same. But Furmark still only makes the GPU run at 600-900 MHz. So most likely the cause is NOT in X or the general handling of one of the graphics APIs and most likely it is not a general power supply issue. It could be that it only happens when certain hardware parts of the GPU are under high load, or are not under high load. On IRC some people tried furmark and could not reproduce this behavior. (The user Remco with a factory overclocked XFX RX 480 too, though a different model than mine). This is good news for the driver developers. This is not so good news for me because now I have to find out whether it's bad hardware (mainboard, GPU?) on my part or something in my software configuration. -- 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/145. |
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.
Created attachment 129917 [details] screenshot with echo manual > power_dpm_force_performance_level My GPU is the factory overclocked XFX Radeon RX 480 XXX OC, this might have something to do with it. I noticed this on agd5d/drm-next-4.12-wip and found similar behavior on 4.10, 4.9 and 4.8. It's even affected even with echo manual > /sys/class/drm/card0/device/power_dpm_force_performance_level I've made a screenshot of radeon-profile on linux 4.8.14 and annotated it. Steps I took: echo manual > /sys/class/drm/card0/device/power_dpm_force_performance_level echo 7 > /sys/class/drm/card0/device/pp_dpm_sclk then started unigine-heaven, closed it, waited a couple of seconds, started furmark, closed it, waited a couple of seconds and then ran another echo 7 > /sys/class/drm/card0/device/pp_dpm_sclk When the GPU is "relatively" idle (just displaying the desktop with a browser, etc.) this doesn't happen. I can echo any number in /sys/class/drm/card0/device/pp_dpm_sclk and it sticks. But when I start applications that put some stress on the GPU, the sclk clock lowers - and stays on a lower level even when the load is gone, until another number is echo'ed into /sys/class/drm/card0/device/pp_dpm_sclk