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

From: Marc-Jano Knopp
Date: Mon Dec 19 2005 - 06:41:35 EST


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).
> >
>
> Question is: what kernel version did you upgrade from?

2.4.31. Just rebooted to 2.4.31 and tried again - mlockall() seems to
work perfectly:

# ps axf|grep [9]99
1037 tty1 SL+ 0:00 \_ sleep 999
# uname -a
Linux pc8 2.4.31 #3 Thu Sep 8 16:49:45 CEST 2005 i686 unknown
#


> 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?


Best regards

Marc-Jano
-
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/