tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: netbsd-5 deadlocks when memory is low



On Wed, Aug 31, 2011 at 09:06:14AM +0000, David Holland wrote:
> The right fix is to not let the kernel wait for userspace. In this
> case that's probably not trivial.

I am trying to track non local vnode being paged, and exclude them 
from pagedaemon activation trigger. However I have trouble to spot 
them. I added this debug message in swapcluster_add but I have
nothing displayed at all, which suggests this is not a vnode related
problem.

if ((uobj != NULL) && UVM_OBJ_IS_VNODE(uobj)) {
        if (((struct vnode *)uobj)->v_mount != NULL)
                printf("%s: vp->v_mount = NULL\n", __func__);
        else
                printf("%s: vp->v_mount->mnt_flag = 0x%x (%s)\n", __func__,
                       ((struct vnode *)uobj)->v_mount->mnt_flag & MNT_LOCAL,
                        ((struct vnode *)uobj)->v_mount->mnt_stat.f_mntonname);
}   

But why is it deadlocking, then?

-- 
Emmanuel Dreyfus
manu%netbsd.org@localhost


Home | Main Index | Thread Index | Old Index