On 2011/8/21 05:43 AM, Matthew Dillon wrote: > : > :When under heavy load (Opengrok indexing, Hammer daily cleanup and bulk build > :running at the same time), its swap filled entirely > : > :This kernel message was logged on the console: > : swap_pager_getswapspace: failed > > Ok, I believe I have fixed the problem. fork() was causing a > vm_object leak where old vm_object's were not being properly terminated, > leaving vm_page's intact and slowly causing swap to fill up. pkgbox64 > is now running a new kernel.
The fix (1f8fc82a) seems to fix my problem I was talking about on kernel@ the other day, so I jumped in here :), but I started seeing this occasional warning message on the console under load: vm_prefault: Warning, backing object race averted lobject 0xffffffe062f5bf20 I also caught a panic in vm_object_deallocate_locked() afterwards: #15 0xffffffff8052df79 in vm_object_deallocate_locked ( object=0xffffffe06298f420) at /usr/src/sys/vm/vm_object.c:601 601 LIST_REMOVE(object, shadow_list); (kgdb) l 596 if (temp == object->backing_object) 597 break; 598 vm_object_unlock(temp); 599 } 600 if (temp) { 601 LIST_REMOVE(object, shadow_list); 602 temp->shadow_count--; 603 temp->generation++; 604 object->backing_object = NULL; 605 vm_object_lock_swap();