Re: [Bug] mlockall() not working properly in 2.6.x

From: Alan Cox
Date: Mon Dec 19 2005 - 12:46:02 EST


On Llu, 2005-12-19 at 18:27 +0100, Jan-Benedict Glaw wrote:
> > > that we did this because inheriting MCL_FUTURE is standards-incorrect.
> >
> > Oh! So how can I make programs unswappable with kernel 2.6.x then?
>
> That would mean that you cannot just exec() another program that will
> also be mlockall()ed. The new program has to do that on its own...

mlockall MCL_FUTURE applies to this image only and the 2.6 behaviour is
correct if less useful in some ways. It would be possible to add an
inheriting MCL_ flag that was Linux specific but then how do you control
the depth of inheritance ? If that isn't an issue it looks the easiest.

Another possibility would be pmlockall(pid, flag), but that looks even
more nasty if it races an exec.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/