From mboxrd@z Thu Jan 1 00:00:00 1970 From: Eric Anholt Subject: Re: FPS performance increase when deliberately spinning the CPU with an unrelated task Date: Mon, 25 Oct 2010 13:14:19 -0700 Message-ID: <87ocai6ndw.fsf@pollan.anholt.net> References: <1287835355.2578.26.camel@pcjc2lap> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="===============0965717137==" Return-path: In-Reply-To: <1287835355.2578.26.camel@pcjc2lap> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: intel-gfx-bounces+gcfxdi-intel-gfx=m.gmane.org@lists.freedesktop.org Errors-To: intel-gfx-bounces+gcfxdi-intel-gfx=m.gmane.org@lists.freedesktop.org To: Peter Clifton , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org --===============0965717137== Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha1; protocol="application/pgp-signature" --=-=-= Content-Transfer-Encoding: quoted-printable On Sat, 23 Oct 2010 13:02:35 +0100, Peter Clifton wrote: > Hi guys, >=20 > This is something I've noted before, and I think Keith P replied with > some idea of what might be causing it, but I can't recall exactly. I > just thought I'd mention it again in case it struck a chord with anyone. >=20 > I'm running my app here, which is on a benchmark test, banging out > frames as fast as the poor thing can manage. It is not CPU bound (it is > using about 50% CPU). >=20 > I'm getting 12 fps. >=20 > Now I run a devious little test app, "loop", in parallel: >=20 > int main( int argc, char **argv ) > { > while (1); > } >=20 >=20 > Re-run the benchmark and I get 19.2 fps. (NICE). >=20 >=20 > I suspect cpufreq scaling, so I swapped the ondemand governor for > performance. >=20 > Strangely: > pcjc2@pcjc2lap:/sys/devices/system/cpu/cpu1/cpufreq$ cat scaling_availabl= e_frequencies=20 > 2401000 2400000 1600000 800000=20 >=20 > and I only get: > sudo cat cpuinfo_cur_freq=20 > 2400000 >=20 > (Never mind) >=20 > Repeat setting for other core of Core2 Duo. >=20 >=20 > Now, without my "loop" program running, I get 17.6 fps right off. > WITH my "loop" program running, I get 18.2 fps. >=20 > I think Keith was thinking that there are some parts of the chipset > which are shared between the GPU and CPU (memory controllers?), and the > CPU entering a lower frequency state could have a detrimental effect on > the graphics throughput. >=20 > I know in heavy workloads the CPU is likely to be "a bit" busy, and > rendering will not be totally GPU bound, but it would seem like it is > eventually necessary to have some hook to bump the CPU frequency (or > chipset frequency?) when the GPU would make beneficial use of the extra > throughput. >=20 > This doesn't make sense if it is banging out 100fps, but for my stuff, > the GPU is struggling to make 5fps for some complex circuit boards. I'm > trying to address that from a geometry / rendering complexity point of > view, but also, I'd love to see my laptop being able to get the best out > of its hardware. >=20 > Perhaps we need to account for periods when the CPU has tasks idle > waiting for GPU operations which would be sped up by increasing some > chip power state. >=20 > I'm probably not up to coding this all, but if the idea sounds feasible, > I'd love to know, so I might be able to have a tinker with it. Instead of just watching frequency, maybe use powertop to watch CPU C-states as well? I'd suspect those to have more impact on graphics than CPU frequency, though the two should be related in terms of when they're changed. C-state drops don't appear to matter for performance here on Ironlake with my test app, but things may be different for your hw. If C-state reductions matter, I think there's supposed to be a way for the kernel waits to declare how long they expect to wait (1/refresh, I'd say) so as to not drop C-state if it won't pay off. We should be declaring that if we can anyway, and it might help your workload. --=-=-= Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (GNU/Linux) iEYEARECAAYFAkzF5RsACgkQHUdvYGzw6vcr0QCghy4T+7ShG299BkxHlt5e50oV IkkAn0H598YY9vr1qDS6Jzk2MV+/NnAl =bOhj -----END PGP SIGNATURE----- --=-=-=-- --===============0965717137== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/intel-gfx --===============0965717137==--