Re: netbsd-5 deadlocks when memory is low

Emmanuel Dreyfus <manu%netbsd.org@localhost> wrote:
[using mlockall(2) to prevent userland filesystem to be swaped out]
> It seemed to work, but after intensive testing I still see deadlocks,
> and a printf added in uvm_swapout() shows that perfused still gets
> swaped out despite the mlockall call. Is that a bug?
>
> This is on netbsd-5.
I had a look at src/sys/uvm/uvm_glue.c changes bewteen netbsd-5 and
-current. Revision 1.140-1.141 is interesting: netbsd-5 has a swappable
u-area, and the change drops that "feature" to fix issues.
The problem is documented in kern/38828
http://gnats.netbsd.org/cgi-bin/query-pr-single.pl?number=38828
Is it possible that mlockall() fail to wire the u-areas, leading to the
problem again?
The changeset is huge, but it does not only make the u-area unswappable.
Is it reasonable to try to isolate that change and backport to netbsd-5?
--
Emmanuel Dreyfus
http://hcpnet.free.fr/pubz
manu%netbsd.org@localhost