[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