Mark, > I also placed some checks on vm_map_delete
I did that also, and as far as I understand everything works fine. The only thing I found was the fact that when contigmalloc() grabs the contig pages it sets the value of pga[i] (for i in allocated pages) note that: vm_page_t pga = vm_page_array; Then contigfree() does a pretty good job, but does not reset the values of pga[i] to pqtype == PQ_FREE (pqtype = pga[i].queue - pga[i].pc) So the next contigmalloc() requiring the same number of pages fails on the previously released pages because they are not PQ_FREE The other thing that puzzled me is the fact that in vm_map_delete() called by contgigfree() has a variable object = entry->object.vm_object; which shows a value of 0 rather than kernel_object or kmem_object But my understanding might be wrong. Thanks, Patrick. -- UDcast: Full IP over Broadcast Media Phone: (+33) (0)4 93 00 16 99 Mobile: (+33) (0)6 14 21 55 98 Fax: (+33) (0)4 93 00 16 61 http://www.UDcast.com To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-hackers" in the body of the message