From mboxrd@z Thu Jan 1 00:00:00 1970 From: Boszormenyi Zoltan Subject: Re: DPM on Radeon HD6570 Date: Wed, 21 Aug 2013 19:56:57 +0200 Message-ID: <5214FF69.9030206@pr.hu> References: <5214CF45.40407@pr.hu> <5214EB41.7020308@chown.ath.cx> Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-2"; Format="flowed" Content-Transfer-Encoding: quoted-printable Return-path: Received: from mail.cybertec.at (unknown [87.118.86.135]) by gabe.freedesktop.org (Postfix) with ESMTP id 773CFE7B10 for ; Wed, 21 Aug 2013 10:57:04 -0700 (PDT) In-Reply-To: <5214EB41.7020308@chown.ath.cx> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: dri-devel-bounces+sf-dri-devel=m.gmane.org@lists.freedesktop.org Errors-To: dri-devel-bounces+sf-dri-devel=m.gmane.org@lists.freedesktop.org To: Grigori Goronzy Cc: dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org 2013-08-21 18:30 keltez=E9ssel, Grigori Goronzy =EDrta: > On 21.08.2013 16:31, Boszormenyi Zoltan wrote: >> Hi, >> >> I read this Phoronix article: >> http://www.phoronix.com/scan.php?page=3Darticle&item=3Damd_hd6000_dpm&nu= m=3D1 >> >> 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 fo= r "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] =3D=3D power state 0 =3D=3D [ 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] =3D=3D power state 1 =3D=3D [ 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] =3D=3D power state 2 =3D=3D [ 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. Ju= st run some = > demanding OpenGL app and check that file to see if the GPU switches the p= ower level. Just running this loop: [root@localhost ~]# while `/bin/true` ; do cat /sys/kernel/debug/dri/0/rade= on_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, comp= onent = > DRM/radeon) and attach dmesg output and anything else that might be usefu= l. > > Best regards > Grigori > So, it seems DPM works well but the card is weak. Sorry for the noise. Best regards, Zolt=E1n B=F6sz=F6rm=E9nyi