[issue2118] swap filled on machine with heavy activity+swapcache, swap doesn't drain
YONETANI Tomokazu
y0n3t4n1 at gmail.com
Sun Aug 21 14:25:10 PDT 2011
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();
More information about the Bugs
mailing list