[Nouveau] "enable ctxprog xfer only when we need it to save power" introduces big performance regression

Marcin Kościelnicki koriakin at 0x04.net
Sun Oct 30 03:37:53 PDT 2011


On 30.10.2011 12:33, Marcin Slusarz wrote:
> On Sun, Oct 30, 2011 at 02:25:08AM +0200, Maxim Levitsky wrote:
>> On Sat, 2011-10-29 at 21:09 +0200, Marcin Slusarz wrote:
>> > On Sat, Oct 29, 2011 at 07:29:23PM +0200, Marcin Slusarz wrote:
>> > > On Sat, Oct 29, 2011 at 07:08:01PM +0200, Marcin Slusarz wrote:
>> > > > Hi
>> > > >
>> > > > I've bisected pretty big performance regression (nv92):
>> > > >
>> > > > $ git bisect good
>> > > > b2737681d5442f05ab6419e05468c3d2511a5ced is the first bad 
>> commit
>> > > > commit b2737681d5442f05ab6419e05468c3d2511a5ced
>> > > > Author: Martin Peres <martin.peres at ensi-bourges.fr>
>> > > > Date:   Sat Jul 30 23:08:45 2011 +0200
>> > > >
>> > > >     drm/nv50/gr: enable ctxprog xfer only when we need it to 
>> save power
>> > >
>> > > Weird, reverting it on top of current git does not restore it - 
>> in
>> > > glxgears it's even worse (-~50%).
>> >
>> > It seems "drm/nv50/gr: refactor initialisation" relies on the 
>> above.
>> >
>> > So, reverting these commits:
>> >
>> > drm/nv50/gr: typo fix, how about we not reset fifo during graph 
>> init?
>> > drm/nv50/gr: refactor initialisation
>> > drm/nv50/gr: enable ctxprog xfer only when we need it to save 
>> power
>> >
>> > on top of current git restores performance to the previous state.
>> >
>> > (First commit fixes bug in 2nd, so it needs to be reverted first)
>> >
>> > Marcin
>>
>>
>> could you extract the ctxprog blob uses on your system and post it?
>>
>
> How can I extract it?
>
> Marcin

Do a mmiotrace, look for a string of writes to 400328 preceded by a 
write of 0 to 400324.

Marcin Kościelnicki


More information about the Nouveau mailing list