From owner-freebsd-current@FreeBSD.ORG Sun Nov 27 08:41:31 2011 Return-Path: Delivered-To: freebsd-current@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8DC0B1065670; Sun, 27 Nov 2011 08:41:31 +0000 (UTC) (envelope-from avg@FreeBSD.org) Received: from citadel.icyb.net.ua (citadel.icyb.net.ua [212.40.38.140]) by mx1.freebsd.org (Postfix) with ESMTP id A62ED8FC0C; Sun, 27 Nov 2011 08:41:30 +0000 (UTC) Received: from porto.starpoint.kiev.ua (porto-e.starpoint.kiev.ua [212.40.38.100]) by citadel.icyb.net.ua (8.8.8p3/ICyb-2.3exp) with ESMTP id KAA13238; Sun, 27 Nov 2011 10:41:20 +0200 (EET) (envelope-from avg@FreeBSD.org) Received: from localhost ([127.0.0.1]) by porto.starpoint.kiev.ua with esmtp (Exim 4.34 (FreeBSD)) id 1RUaIa-000K99-9P; Sun, 27 Nov 2011 10:41:20 +0200 Message-ID: <4ED1F7AE.3030105@FreeBSD.org> Date: Sun, 27 Nov 2011 10:41:18 +0200 From: Andriy Gapon User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:8.0) Gecko/20111108 Thunderbird/8.0 MIME-Version: 1.0 To: Michael Butler References: <4ECF7440.4070300@entel.upc.edu> <4ECF8F05.8000007@protected-networks.net> <4ED0C40D.5010307@entel.upc.edu> <4ED0D963.1030702@entel.upc.edu> <4ED0DF1F.6090901@FreeBSD.org> <20111126163343.GA9150@reks> <4ED1943A.90707@protected-networks.net> In-Reply-To: <4ED1943A.90707@protected-networks.net> X-Enigmail-Version: undefined Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Cc: freebsd-emulation@FreeBSD.org, FreeBSD current Subject: Re: Freeze with 10.0 and VirtualBox {4.1.4|4.1.6|4.1.51r38464} X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 27 Nov 2011 08:41:31 -0000 on 27/11/2011 03:36 Michael Butler said the following: > On 11/26/11 11:33, Gleb Kurtsou wrote: >> On (26/11/2011 14:44), Andriy Gapon wrote: >>> vm_phys_alloc_contig implementation has been recently changed and now it seems >>> to require that vm_page_queue_free_mtx is held. >> >> Using new vm_page_alloc_contig() may be a better option here. Can't help >> with patch, stuck with pre Nov 15 CURRENT myself. > > If I understand the change in locking semantics (post SVN r227568?), a good > number of chunks of src/VBox/Runtime/r0drv/freebsd/memobj-r0drv-freebsd.c need > updating to follow this :-(. > It is now insufficient to hold only the queue lock when calling vm_page_unwire > or vm_page_free (and maybe others). The page itself must now also be locked, Not "also", but instead. And only for managed pages. For unmanaged pages a caller doesn't have to acquire anything. The relevant change in head has happened much much earlier than r227568. And this is a totally different issue from the vm_phys_alloc_contig issue. Let's not mix them. -- Andriy Gapon