Bug 108942

Summary: idle power consumption of Polaris 20 GPU reported too high in amdgpu_pm_info
Product: DRI Reporter: tempel.julian
Component: DRM/AMDgpuAssignee: Default DRI bug account <dri-devel>
Status: RESOLVED MOVED QA Contact:
Severity: normal    
Priority: medium CC: john.ettedgui, rigo.reddig
Version: DRI git   
Hardware: x86-64 (AMD64)   
OS: All   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
xorg log
none
dmesg log none

Description tempel.julian 2018-12-04 14:04:57 UTC
Created attachment 142715 [details]
xorg log

It looks like this:

/sys/kernel/debug/dri/0/amdgpu_pm_info

Clock Gating Flags Mask: 0x3fbcf
	Graphics Medium Grain Clock Gating: On
	Graphics Medium Grain memory Light Sleep: On
	Graphics Coarse Grain Clock Gating: On
	Graphics Coarse Grain memory Light Sleep: On
	Graphics Coarse Grain Tree Shader Clock Gating: Off
	Graphics Coarse Grain Tree Shader Light Sleep: Off
	Graphics Command Processor Light Sleep: On
	Graphics Run List Controller Light Sleep: On
	Graphics 3D Coarse Grain Clock Gating: Off
	Graphics 3D Coarse Grain memory Light Sleep: Off
	Memory Controller Light Sleep: On
	Memory Controller Medium Grain Clock Gating: On
	System Direct Memory Access Light Sleep: Off
	System Direct Memory Access Medium Grain Clock Gating: On
	Bus Interface Medium Grain Clock Gating: Off
	Bus Interface Light Sleep: On
	Unified Video Decoder Medium Grain Clock Gating: On
	Video Compression Engine Medium Grain Clock Gating: On
	Host Data Path Light Sleep: On
	Host Data Path Medium Grain Clock Gating: On
	Digital Right Management Medium Grain Clock Gating: Off
	Digital Right Management Light Sleep: Off
	Rom Medium Grain Clock Gating: On
	Data Fabric Medium Grain Clock Gating: Off

GFX Clocks and Power:
	300 MHz (MCLK)
	300 MHz (SCLK)
	600 MHz (PSTATE_SCLK)
	1000 MHz (PSTATE_MCLK)
	750 mV (VDDGFX)
	29.159 W (average GPU)

GPU Temperature: 28 C
GPU Load: 0 %

But: Physical wattmeter measures 38W for the whole system. So apparently, the reported power usage in amdgpu_pm_info must be wrong for idle.

Power consumption of the whole system is a bit lower on Windows (30W). So probably GPU power saving doesn't work as good as on Windows, but this doesn't explain the unrealistic number reported in amdgpu_pm_info.

I btw. also noticed that power saving of Vega works much better than of Polaris on Linux. With Polaris, the clocks get up real quickly for even the slightest amount of GPU load. Vega saves much more power and doesn't stutter, despite of the higher savings.

I had a RX 560 before the RX 580, and I think its idle power consumption was correctly reported with something like 3W (not 30) or so.

latest 4.21-wip kernel
Comment 1 tempel.julian 2018-12-04 14:05:14 UTC
Created attachment 142716 [details]
dmesg log
Comment 2 Rigo Reddig 2018-12-13 09:03:40 UTC
I can confirm observing the same behavior as Julian reports.

However I have also noticed power information reporting wrongly at the opposite extreme (Much higher idle power than reported) when two monitors are attached that force excessively high idle clock states.

https://bugs.freedesktop.org/show_bug.cgi?id=108941#c1
Comment 3 Rigo Reddig 2018-12-13 09:09:02 UTC
=======================================================================
Dual monitors: (Power is much higher than reported by amdgpu_pm_info)
=======================================================================

Clock Gating Flags Mask: 0x3fbcf
        Graphics Medium Grain Clock Gating: On
        Graphics Medium Grain memory Light Sleep: On
        Graphics Coarse Grain Clock Gating: On
        Graphics Coarse Grain memory Light Sleep: On
        Graphics Coarse Grain Tree Shader Clock Gating: Off
        Graphics Coarse Grain Tree Shader Light Sleep: Off
        Graphics Command Processor Light Sleep: On
        Graphics Run List Controller Light Sleep: On
        Graphics 3D Coarse Grain Clock Gating: Off
        Graphics 3D Coarse Grain memory Light Sleep: Off
        Memory Controller Light Sleep: On
        Memory Controller Medium Grain Clock Gating: On
        System Direct Memory Access Light Sleep: Off
        System Direct Memory Access Medium Grain Clock Gating: On
        Bus Interface Medium Grain Clock Gating: Off
        Bus Interface Light Sleep: On
        Unified Video Decoder Medium Grain Clock Gating: On
        Video Compression Engine Medium Grain Clock Gating: On
        Host Data Path Light Sleep: On
        Host Data Path Medium Grain Clock Gating: On
        Digital Right Management Medium Grain Clock Gating: Off
        Digital Right Management Light Sleep: Off
        Rom Medium Grain Clock Gating: On
        Data Fabric Medium Grain Clock Gating: Off

GFX Clocks and Power:
        2000 MHz (MCLK)
        419 MHz (SCLK)
        600 MHz (PSTATE_SCLK)
        1000 MHz (PSTATE_MCLK)
        950 mV (VDDGFX)
        31.252 W (average GPU)

GPU Temperature: 44 C
GPU Load: 0 %

UVD: Disabled

VCE: Disabled

=======================================================================
Single Monitor: (Power is much lower than reported by amdgpu_pm_info)
=======================================================================

Clock Gating Flags Mask: 0x3fbcf
        Graphics Medium Grain Clock Gating: On
        Graphics Medium Grain memory Light Sleep: On
        Graphics Coarse Grain Clock Gating: On
        Graphics Coarse Grain memory Light Sleep: On
        Graphics Coarse Grain Tree Shader Clock Gating: Off
        Graphics Coarse Grain Tree Shader Light Sleep: Off
        Graphics Command Processor Light Sleep: On
        Graphics Run List Controller Light Sleep: On
        Graphics 3D Coarse Grain Clock Gating: Off
        Graphics 3D Coarse Grain memory Light Sleep: Off
        Memory Controller Light Sleep: On
        Memory Controller Medium Grain Clock Gating: On
        System Direct Memory Access Light Sleep: Off
        System Direct Memory Access Medium Grain Clock Gating: On
        Bus Interface Medium Grain Clock Gating: Off
        Bus Interface Light Sleep: On
        Unified Video Decoder Medium Grain Clock Gating: On
        Video Compression Engine Medium Grain Clock Gating: On
        Host Data Path Light Sleep: On
        Host Data Path Medium Grain Clock Gating: On
        Digital Right Management Medium Grain Clock Gating: Off
        Digital Right Management Light Sleep: Off
        Rom Medium Grain Clock Gating: On
        Data Fabric Medium Grain Clock Gating: Off

GFX Clocks and Power:
        300 MHz (MCLK)
        300 MHz (SCLK)
        600 MHz (PSTATE_SCLK)
        1000 MHz (PSTATE_MCLK)
        750 mV (VDDGFX)
        28.102 W (average GPU)

GPU Temperature: 30 C
GPU Load: 0 %

UVD: Disabled

VCE: Disabled
Comment 4 tempel.julian 2019-10-20 11:29:19 UTC
I wonder why this is still an issue (linux 5.3.4, showing 30W with lowest clocks and voltages) if it already worked with Polaris 11 some years ago.
Comment 5 Martin Peres 2019-11-19 09:07:02 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/629.

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.