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