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@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel