lkml.org 
[lkml]   [2015]   [Jul]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH V5 0/7] Allow user to request memory to be locked on page fault
    [I am sorry but I didn't get to this sooner.]

    On Mon 27-07-15 10:54:09, Eric B Munson wrote:
    > Now that VM_LOCKONFAULT is a modifier to VM_LOCKED and
    > cannot be specified independentally, it might make more sense to mirror
    > that relationship to userspace. Which would lead to soemthing like the
    > following:

    A modifier makes more sense.

    > To lock and populate a region:
    > mlock2(start, len, 0);
    >
    > To lock on fault a region:
    > mlock2(start, len, MLOCK_ONFAULT);
    >
    > If LOCKONFAULT is seen as a modifier to mlock, then having the flags
    > argument as 0 mean do mlock classic makes more sense to me.
    >
    > To mlock current on fault only:
    > mlockall(MCL_CURRENT | MCL_ONFAULT);
    >
    > To mlock future on fault only:
    > mlockall(MCL_FUTURE | MCL_ONFAULT);
    >
    > To lock everything on fault:
    > mlockall(MCL_CURRENT | MCL_FUTURE | MCL_ONFAULT);

    Makes sense to me. The only remaining and still tricky part would be
    the munlock{all}(flags) behavior. What should munlock(MLOCK_ONFAULT)
    do? Keep locked and poppulate the range or simply ignore the flag an
    just unlock?

    I can see some sense to allow munlockall(MCL_FUTURE[|MLOCK_ONFAULT]),
    munlockall(MCL_CURRENT) resp. munlockall(MCL_CURRENT|MCL_FUTURE) but
    other combinations sound weird to me.

    Anyway munlock with flags opens new doors of trickiness.
    --
    Michal Hocko
    SUSE Labs


    \
     
     \ /
      Last update: 2015-07-28 13:41    [W:3.947 / U:0.032 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site