Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 27 Nov 2011 10:41:18 +0200
From:      Andriy Gapon <avg@FreeBSD.org>
To:        Michael Butler <imb@protected-networks.net>
Cc:        freebsd-emulation@FreeBSD.org, FreeBSD current <freebsd-current@FreeBSD.org>
Subject:   Re: Freeze with 10.0 and VirtualBox {4.1.4|4.1.6|4.1.51r38464}
Message-ID:  <4ED1F7AE.3030105@FreeBSD.org>
In-Reply-To: <4ED1943A.90707@protected-networks.net>
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>

next in thread | previous in thread | raw e-mail | index | archive | help
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



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