Re: [Bug #12574] possible circular locking dependency detected

Eric Anholt
2009-02-10T22:41:56Z

[-- Attachment #1: Type: text/plain, Size: 995 bytes --]

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-WhKQ6XTQaPysTnJN9+BGXg@public.gmane.org eric.anholt-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 197 bytes --]