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



        Hello.  Can you use the mlock(2) system call for this purpose?  This
looks like just what it was intended for.
Does it actually work in our system?

-Brian

On Sep 5,  7:37am, Emmanuel Dreyfus wrote:
} Subject: Re: netbsd-5 deadlocks when memory is low
} On Fri, Sep 02, 2011 at 06:54:55AM +0200, Emmanuel Dreyfus wrote:
} > A common case of deadlocks is ioflush waiting for the filesystem and the
} > filesystem waiting for memory.
} 
} I made some progress in my understanding of the issue: the filesystem
} server (perfused) gets swaped out and this is why all attemps to sync
} PUFFS vnode deadlock. 
} 
} We need a way of avoiding that situation. A first idea would be that
} PUFFS could detect the filesystem server and tag it so that it does not
} get swapped, but that will not work with perfused, since it is just a
} relay to a FUSE filesystem server (here glusterfsd). The FUSE filesystem
} server needs to be unswappable as well.
} 
} So it seems we need a way for a process to tell the kernel that it
} should not be swapped out. What about a sysctl proc.*.wired, accessible
} only by root and defaulting to 0? 
} 
} -- 
} Emmanuel Dreyfus
} manu%netbsd.org@localhost
>-- End of excerpt from Emmanuel Dreyfus




Home | Main Index | Thread Index | Old Index