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, GusReceived on Thu Dec 01 2011 - 07:22:05 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:21 UTC