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 at 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