On Wed, 2009-02-11 at 00:37 +0200, Michael S. Tsirkin wrote: > Dave, dri guys, > Could you take a look at this circular dependency please (below)? I > observe it when suspending laptop with radeon drm loaded and with > lockdep enabled. It seems that the root of the problem is that > various vm ops such as drm_vm_open, drm_mmap) are called with mm > semaphore taken, and take dev->struct_mutex. On the other hand, > drm_rmmap_locked is called with dev->struct_mutex, and calls mtrr_del > which depends on mm semaphore indirectly. > > What do you think? Yes, there are real lock inversions now due to the GTT mmap code. It's going to be a pain to fix (I tried getting the mmap_sem -> struct_mutex path to go away, but the fact that mmap_sem is held over the fault handler pretty much kills that). It's high on the list, though. -- Eric Anholt eric@xxxxxxxxxx eric.anholt@xxxxxxxxx
Attachment:
signature.asc
Description: This is a digitally signed message part