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

From: Jan-Benedict Glaw
Date: Mon Dec 19 2005 - 12:26:37 EST


On Mon, 2005-12-19 12:42:31 +0100, Marc-Jano Knopp <pub_ml_lkml@xxxxxxxxxxxx> wrote:
> On Mon, 19 Dec 2005 at 02:21 (-0800), Andrew Morton wrote:
> > Marc-Jano Knopp <pub_ml_lkml@xxxxxxxxxxxx> wrote:
> > > A year ago, I wrote a small mlockall()-wrapper ("noswap") to make
> > > certain programs unswappable. It used to work perfectly, until I
> > > upgraded to kernel 2.6.x (2.6.13.1 in my case, but that shouldn't
> > > matter), which made the mlockall() execute without error, but also
> > > without any effect (the "L" in the STAT column of "ps axf" which
> > > indicates locked pages is missing).
> > Prior to 2.4.18 the kernel would allow MCL_FUTURE to propagate into child
> > processes. But that was disabled in 2.4.18 and later. I seem to recall
> > 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...

MfG, JBG

--
Jan-Benedict Glaw jbglaw@xxxxxxxxxx . +49-172-7608481 _ O _
"Eine Freie Meinung in einem Freien Kopf | Gegen Zensur | Gegen Krieg _ _ O
fÃr einen Freien Staat voll Freier BÃrger" | im Internet! | im Irak! O O O
ret = do_actions((curr | FREE_SPEECH) & ~(NEW_COPYRIGHT_LAW | DRM | TCPA));

Attachment: signature.asc
Description: Digital signature