Re: DPM on Radeon HD6570

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



2013-08-21 18:30 keltezéssel, Grigori Goronzy írta:
On 21.08.2013 16:31, Boszormenyi Zoltan wrote:
Hi,

I read this Phoronix article:
http://www.phoronix.com/scan.php?page=article&item=amd_hd6000_dpm&num=1

Congrats to the progress achieved so far.

However, I can see an interesting deviation for HD6570 from the
observed trend of other chips.

r600g can reach 80+ percent of the performance of Catalyst
for most HD6xxx chips except for 6570, where the performance
is around 10-20 percent.

Do you have a theory about this difference?
Maybe DPM doesn't work as intended on HD6570?


There are some ways to check if DPM functions correctly.

The kernel log (dmesg) contains a dump of the PowerPlay tables, search for "power state". It's possible that tables aren't read correctly or flaky to start with.

Here it is:

[    2.252567] [drm] Internal thermal controller with fan control
[    2.252619] == power state 0 ==
[    2.252621]  ui class: none
[    2.252622]  internal class: boot
[    2.252624]  caps:
[    2.252625]  uvd    vclk: 0 dclk: 0
[    2.252627]          power level 0    sclk: 10000 mclk: 15000 vddc: 900 vddci: 0
[    2.252628]          power level 1    sclk: 10000 mclk: 15000 vddc: 900 vddci: 0
[    2.252629]          power level 2    sclk: 10000 mclk: 15000 vddc: 900 vddci: 0
[    2.252630]  status: c r b
[    2.252632] == power state 1 ==
[    2.252632]  ui class: performance
[    2.252633]  internal class: none
[    2.252635]  caps:
[    2.252636]  uvd    vclk: 0 dclk: 0
[    2.252637]          power level 0    sclk: 10000 mclk: 15000 vddc: 900 vddci: 0
[    2.252640]          power level 1    sclk: 40000 mclk: 80000 vddc: 1000 vddci: 0
[    2.252641]          power level 2    sclk: 65000 mclk: 80000 vddc: 1050 vddci: 0
[    2.252642]  status:
[    2.252643] == power state 2 ==
[    2.252644]  ui class: none
[    2.252645]  internal class: uvd
[    2.252646]  caps: video
[    2.252647]  uvd    vclk: 70000 dclk: 56000
[    2.252651]          power level 0    sclk: 65000 mclk: 80000 vddc: 1050 vddci: 0
[    2.252652]          power level 1    sclk: 65000 mclk: 80000 vddc: 1050 vddci: 0
[    2.252653]          power level 2    sclk: 65000 mclk: 80000 vddc: 1050 vddci: 0
[    2.252654]  status:
[    2.257099] switching from power state:
[    2.257105]  ui class: none
[    2.257107]  internal class: boot
[    2.257109]  caps:
[    2.257111]  uvd    vclk: 0 dclk: 0
[    2.257113]          power level 0    sclk: 10000 mclk: 15000 vddc: 900 vddci: 0
[    2.257114]          power level 1    sclk: 10000 mclk: 15000 vddc: 900 vddci: 0
[    2.257116]          power level 2    sclk: 10000 mclk: 15000 vddc: 900 vddci: 0
[    2.257117]  status: c b
[    2.257129] switching to power state:
[    2.257130]  ui class: performance
[    2.257132]  internal class: none
[    2.257133]  caps:
[    2.257135]  uvd    vclk: 0 dclk: 0
[    2.257137]          power level 0    sclk: 10000 mclk: 15000 vddc: 900 vddci: 0
[    2.257139]          power level 1    sclk: 40000 mclk: 80000 vddc: 1000 vddci: 0
[    2.257140]          power level 2    sclk: 65000 mclk: 80000 vddc: 1050 vddci: 0
[    2.257141]  status: r
[    2.258555] [drm] radeon: dpm initialized



You can also monitor the precise runtime power level (clocks and voltages) of the GPU with /sys/kernel/debug/dri/0/radeon_pm_info. Maybe dynamic switching does not work for some reason, and the GPU always uses the lowest level even under load. Just run some demanding OpenGL app and check that file to see if the GPU switches the power level.

Just running this loop:

[root@localhost ~]# while `/bin/true` ; do cat /sys/kernel/debug/dri/0/radeon_pm_info ; sleep 1 ; done

while the terminal is sufficiently large on the screen results in changing power levels:

uvd    vclk: 0 dclk: 0
power level 0    sclk: 10000 mclk: 15000 vddc: 900 vddci: 0
uvd    vclk: 0 dclk: 0
power level 2    sclk: 65000 mclk: 80000 vddc: 1050 vddci: 0
uvd    vclk: 0 dclk: 0
power level 2    sclk: 65000 mclk: 80000 vddc: 1050 vddci: 0
uvd    vclk: 0 dclk: 0
power level 2    sclk: 65000 mclk: 80000 vddc: 1050 vddci: 0
uvd    vclk: 0 dclk: 0
power level 2    sclk: 65000 mclk: 80000 vddc: 1050 vddci: 0
uvd    vclk: 0 dclk: 0
power level 2    sclk: 65000 mclk: 80000 vddc: 1050 vddci: 0
uvd    vclk: 0 dclk: 0
power level 0    sclk: 10000 mclk: 15000 vddc: 900 vddci: 0
uvd    vclk: 0 dclk: 0
power level 2    sclk: 65000 mclk: 80000 vddc: 1050 vddci: 0
uvd    vclk: 0 dclk: 0
power level 2    sclk: 65000 mclk: 80000 vddc: 1050 vddci: 0
uvd    vclk: 0 dclk: 0
power level 2    sclk: 65000 mclk: 80000 vddc: 1050 vddci: 0
uvd    vclk: 0 dclk: 0
power level 2    sclk: 65000 mclk: 80000 vddc: 1050 vddci: 0
uvd    vclk: 0 dclk: 0
power level 2    sclk: 65000 mclk: 80000 vddc: 1050 vddci: 0
uvd    vclk: 0 dclk: 0
power level 0    sclk: 10000 mclk: 15000 vddc: 900 vddci: 0
uvd    vclk: 0 dclk: 0
power level 2    sclk: 65000 mclk: 80000 vddc: 1050 vddci: 0
uvd    vclk: 0 dclk: 0
power level 2    sclk: 65000 mclk: 80000 vddc: 1050 vddci: 0
^C


You should probably file a bug on bugs.freedesktop.org (product DRI, component DRM/radeon) and attach dmesg output and anything else that might be useful.

Best regards
Grigori


So, it seems DPM works well but the card is weak.
Sorry for the noise.

Best regards,
Zoltán Böszörményi

_______________________________________________
dri-devel mailing list
dri-devel@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/dri-devel





[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux