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


Reply via email to