Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 6 Dec 2003 00:54:51 -0600 (CST)
From:      Mike Silbersack <silby@silby.com>
To:        Alan Cox <alc@FreeBSD.org>
Cc:        cvs-all@FreeBSD.org
Subject:   Re: cvs commit: src/sys/vm vm_mmap.c
Message-ID:  <20031206005341.D33930@odysseus.silby.com>
In-Reply-To: <200312060545.hB65jWx4095325@repoman.freebsd.org>
References:  <200312060545.hB65jWx4095325@repoman.freebsd.org>

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

WHOOOOOOOOOOO HOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO

I'm not sure if any has realized it yet, but I think that this may be our
first actual deadlock condition.  This means that we're actually locking
things!

Congrats,

Mike "Silby" Silbersack


On Fri, 5 Dec 2003, Alan Cox wrote:

> alc         2003/12/05 21:45:32 PST
>
>   FreeBSD src repository
>
>   Modified files:
>     sys/vm               vm_mmap.c
>   Log:
>   Fix a deadlock between vm_fault() and vm_mmap(): The expected lock ordering
>   between vm_map and vnode locks is that vm_map locks are acquired first.  In
>   revision 1.150 mmap(2) was changed to pass a locked vnode into vm_mmap().
>   This creates a lock-order reversal when vm_mmap() calls one of the vm_map
>   routines that acquires a vm_map lock.  The solution implemented herein is
>   to release the vnode lock in mmap() before calling vm_mmap() and reacquire
>   this lock if necessary in vm_mmap().
>
>   Approved by:    re (scottl)
>   Reviewed by:    jeff, kan, rwatson
>
>   Revision  Changes    Path
>   1.174     +13 -4     src/sys/vm/vm_mmap.c
>



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