lkml.org 
[lkml]   [2005]   [Dec]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: [Bug] mlockall() not working properly in 2.6.x
    From
    Date
    On Mon, 2005-12-19 at 17:47 +0000, Alan Cox wrote:
    > 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.

    How about clearing MCL_FUTURE on fork but allow exec to inherit it?
    That way a parent process could fork, mlockall in the child and exec a
    memlocked child. A regular fork,exec by a memlocked parent would not
    create a memlocked child.

    Seems less messy than a new flag, while keeping the benefits.
    --
    Zan Lynx <zlynx@acm.org>
    [unhandled content-type:application/pgp-signature]
    \
     
     \ /
      Last update: 2005-12-19 19:42    [W:0.019 / U:0.996 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site