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 } m...@netbsd.org >-- End of excerpt from Emmanuel Dreyfus