[Nouveau] nv50 channel takedown

Xavier Chantry chantry.xavier at gmail.com
Sun Dec 12 02:56:19 PST 2010


I am seeing problems on 2.6.36-rc7 based kernels.

The error always happens during a channel destruction (always gallium
on channel 3 in my tests), and always looks like this :
<3>[  612.115977] [drm] nouveau 0000:01:00.0: AIII, invalid/inactive
channel id 128
<6>[  612.115987] [drm] nouveau 0000:01:00.0: PGRAPH_DATA_ERROR - Ch
-1/3 Class 0x5039 Mthd 0x0184 Data 0x00000000:0x00000e02
<6>[  612.115990] [drm] nouveau 0000:01:00.0: PGRAPH_DATA_ERROR - INVALID_OBJECT

This is associated with screen corruptions, mostly all fonts/icons disappearing.

The oldest commit where I could see the error during a full piglit run :

commit ea645107d204ebb9c6da494b8fc82e03d74e4513
Author: Ben Skeggs <bskeggs at redhat.com>
Date:   Tue Oct 12 08:01:59 2010 +1000

    drm/nouveau: fix thinko in channel locking in semaphore path

But I might have seen troubles with older commits (still 2.6.36-rc7 based).
And I still don't know if the issue is always triggered by the same
piglit tests or not.

But with a later commit, the issue became much more frequent,
triggered by many piglit tests, so I could easily isolate one
(fdo10370) which reproduces the issue almost every time :

commit 36a7ebda99e904a66188c7304d033e81780455e2
Author: Francisco Jerez <currojerez at riseup.net>
Date:   Mon Oct 18 03:53:39 2010 +0200

    drm/nouveau: Refactor context destruction to avoid a lock ordering issue.

Reversing pfifo and pgraph destruction order as before, and the issue
becomes less frequent again.

I would love to know if anyone at all ever managed to reproduce this.


More information about the Nouveau mailing list