[PATCH] glamor: Set environment variable RADEON_THREAD=0

Michel Dänzer michel at daenzer.net
Wed Jul 30 19:18:55 PDT 2014

On 31.07.2014 03:27, Grigori Goronzy wrote:
> On 30.07.2014 09:33, Michel Dänzer wrote:
>> +			/* This prevents the Gallium radeon winsys from spawning
>> +			 * a separate thread for submitting command streams to
>> +			 * the kernel. Imrpoves scores of at least gtkperf and
>> +			 * x11perf -putimage/-shmput/-getimage/-shmget, probably
>> +			 * because glamor causes too many command stream flushes
>> +			 * / too much synchronization with pending command
>> +			 * streams for the separate thread to pay off.
>> +			 */
>> +			setenv("RADEON_THREAD", "0", 0);
>> +
> How much difference does it actually make?

It boosts x11perf -putimage500 by about 15% on my Bonaire, and some of
the other x11perf tests mentioned above even by around 50%.

> This kind of gives me the impression that the winsys threading may
> need some optimizations.

glamor can generate a *lot* of relatively short command streams, that's
why the CS thread is a net loss for it. It should be a win for most
'normal' 3D apps though.

That said, it might be nice if the winsys CS thread code could
automatically disable the thread when it has to wait for the thread too
often. Are you interested in looking into that by any chance? :)

Earthling Michel Dänzer            |                  http://www.amd.com
Libre software enthusiast          |                Mesa and X developer

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 234 bytes
Desc: OpenPGP digital signature
URL: <http://lists.x.org/archives/xorg-driver-ati/attachments/20140731/8e347c8a/attachment.sig>

More information about the xorg-driver-ati mailing list