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>