From owner-cvs-all@FreeBSD.ORG Mon Aug 9 20:52:21 2004 Return-Path: Delivered-To: cvs-all@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id C57EA16A4CF; Mon, 9 Aug 2004 20:52:21 +0000 (GMT) Received: from duke.cs.duke.edu (duke.cs.duke.edu [152.3.140.1]) by mx1.FreeBSD.org (Postfix) with ESMTP id 75A7043D45; Mon, 9 Aug 2004 20:52:21 +0000 (GMT) (envelope-from gallatin@cs.duke.edu) Received: from grasshopper.cs.duke.edu (grasshopper.cs.duke.edu [152.3.145.30]) by duke.cs.duke.edu (8.12.10/8.12.10) with ESMTP id i79KqKJt015670 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Mon, 9 Aug 2004 16:52:20 -0400 (EDT) Received: (from gallatin@localhost) by grasshopper.cs.duke.edu (8.12.9p2/8.12.9/Submit) id i79KqF1x084518; Mon, 9 Aug 2004 16:52:15 -0400 (EDT) (envelope-from gallatin) Date: Mon, 9 Aug 2004 16:52:15 -0400 From: Andrew Gallatin To: Brian Feldman Message-ID: <20040809165215.A84463@grasshopper.cs.duke.edu> References: <200408091952.i79JqT4B076245@repoman.freebsd.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: <200408091952.i79JqT4B076245@repoman.freebsd.org>; from green@FreeBSD.org on Mon, Aug 09, 2004 at 07:52:29PM +0000 X-Operating-System: FreeBSD 4.9-RELEASE-p1 on an i386 cc: cvs-src@FreeBSD.org cc: src-committers@FreeBSD.org cc: cvs-all@FreeBSD.org Subject: Re: cvs commit: src/sys/vm vm_kern.c vm_map.c vm_map.h X-BeenThere: cvs-all@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: CVS commit messages for the entire tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Aug 2004 20:52:21 -0000 Brian Feldman [green@FreeBSD.org] wrote: > * Require all mappings to be unwired before they are deleted. > When VM space is still wired upon deletion, it will be waited > upon for the following unwire. This makes vslock(9) work > rather than allowing kernel-locked memory to be deleted > out from underneath of its consumer as it would before. Can you explain in a little more detail what would happen now in the following scenario: An application running in userspace allocates SIZE bytes at "addr", either with an mmap or via sbrk. Then something in the kernel calls: vm_map_wire(map, addr, addr + SIZE, TRUE) on its behalf. Then the application frees (or munmaps) "addr". Does the application sleep waiting for something to unwire addr+SIZE? Thanks, Drew