Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 10 Sep 2004 14:18:18 -0400 (EDT)
From:      Andrew Gallatin <gallatin@cs.duke.edu>
To:        John-Mark Gurney <gurney_j@resnet.uoregon.edu>
Cc:        freebsd-current@freebsd.org
Subject:   Re: witness oddity
Message-ID:  <16705.61418.553065.584034@grasshopper.cs.duke.edu>
In-Reply-To: <20040910172515.GU72089@funkthat.com>
References:  <16705.57806.550902.483858@grasshopper.cs.duke.edu> <20040910172515.GU72089@funkthat.com>

next in thread | previous in thread | raw e-mail | index | archive | help

John-Mark Gurney writes:
 > Andrew Gallatin wrote this message on Fri, Sep 10, 2004 at 13:18 -0400:
 > > If I call copyout() holding one of my mutexes, it will always complain
 > > about a LOR, even if the mutex is freshly initiated:
 > 
 > Calling copyout while holding a mutex is not allowed...  If the page
 > isn't in memory, it could take many seconds for the page to be swapped
 > back in during which time your mutex will continue to be held.

Thanks.. but that's not really what I asked.

I want to know how witness detects a particular just-created mutex as
being in a deadlock with the vm map lock.

Again, is it because the vm lock is an sx lock?  Is there an implicit
rule that you can't take an sx lock while holding a mutex (just like
you can't take Giant, or sleep?)

Or is it some ordering principal that I don't understand.

DRew



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?16705.61418.553065.584034>