Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 01 Dec 2011 09:21:53 +0100
From:      =?ISO-8859-1?Q?Gustau_P=E9rez?= <gperez@entel.upc.edu>
To:        Andriy Gapon <avg@freebsd.org>
Cc:        Alan Cox <alc@freebsd.org>, freebsd-emulation@freebsd.org, FreeBSD current <freebsd-current@freebsd.org>, Gleb Kurtsou <gleb.kurtsou@gmail.com>
Subject:   Re: Freeze with 10.0 and VirtualBox {4.1.4|4.1.6|4.1.51r38464}
Message-ID:  <4ED73921.8060906@entel.upc.edu>
In-Reply-To: <4ED6BDC1.8020600@FreeBSD.org>
References:  <4ECF7440.4070300@entel.upc.edu> <4ED6AEFE.4010106@FreeBSD.org> <201111301807.21351.jkim@FreeBSD.org> <201111301827.46079.jkim@FreeBSD.org> <4ED6BDC1.8020600@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On 01/12/2011 00:35, Andriy Gapon wrote:
> on 01/12/2011 01:27 Jung-uk Kim said the following:
>> On Wednesday 30 November 2011 06:07 pm, Jung-uk Kim wrote:
>>> On Wednesday 30 November 2011 05:32 pm, Andriy Gapon wrote:
>>>> on 26/11/2011 18:33 Gleb Kurtsou said the following:
>>>>> Using new vm_page_alloc_contig() may be a better option here.
>>>>> Can't help with patch, stuck with pre Nov 15 CURRENT myself.
>>>> on 27/11/2011 19:09 Alan Cox said the following:
>>>>> vm_page_alloc_contig() should be used instead.
>>>> My take on the patch:
>>>> http://people.freebsd.org/~avg/vbox-10.patch
>>>> This is for head only, no check for FreeBSD version.
>>> Actually, I did the same thing last night:
>>>
>>> http://people.freebsd.org/~jkim/patch-src-VBox-Runtime-r0drv-freebs
>>> d-memobj-r0drv-freebsd.c
>>>
>>> This is a drop-in replacement for the patch.  The only practical
>>> difference I see from yours is I used VM_ALLOC_INTERRUPT instead of
>>> VM_ALLOC_NORMAL.  I believe this function may be used in interrupt
>>> context.  FYI, I tried FreeBSD 9 and Fedora 10 without problem.
>> BTW, I needed another patch to build virtual-ose-kmod on head:
>>
>> http://people.freebsd.org/~jkim/patch-src-VBox-HostDrivers-Support-freebsd-SUPDrv-freebsd.c
>>
>> FYI...
> Yep, me too, obviously :-)
> Thank you for the complete vm_page_alloc_contig patch!
>

   Thanks for the patch. I'll give it a try.

   OTOH yesterday I was trying to use vm_page_alloc_contig and trying to 
understand the allocation classes. I was able to panic the system or in 
the best case VBoxHeadless was getting a sig11.

   I was planning to ask the mailing list about them, because even I 
read vm-design article in the doc section there are things I don't yet 
understand:

   First question is, if you set NULL for the vm_object_t (and then 
VM_ALLOC_NOOBJ must be given or the kernel will panic with INVARIANTS 
set) how this memory is assigned to the VirtualBox process logical space?

   Second set of related questions are: why should the pages be wired? 
and why should the VM_ALLOC_INTERRUPT alloc class be given?

   Third question is: I see in the patch that 
rtR0MemObjFreeBSDPhysPageInit is not called if the veersion is less that 
1000000, is this because vm_phys_alloc_contig doesn't set the flags on 
the pages and vm_page_alloc_contig does?

   Thanks,

    Gus



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