Re: can't mlockall() more than 128MB, is this a kernel limitiation ?

From: Benno Senoner (sbenno@gardena.net)
Date: Sat Aug 05 2000 - 12:46:23 EDT

  • Next message: Matthew Wilcox: "Re: ksymoops of a severe crash on 2.2.16 (with alan cox bugfix patch)"

    On Sat, 05 Aug 2000, Benno Senoner wrote:

    hmmm .. I looked at the source and seems that I can answer this question by
    myself:

    >
    > Now my question: is this more than 128MB mlock() problem a limitation of the
    > 2.2.x kernel or can it be lifted by some sysctl ?

    Yes, see mm/mlock.c
    -----
            /* we may lock at most half of physical memory... */
            /* (this check is pretty bogus, but doesn't hurt) */
            if (locked > num_physpages/2)
                    goto out;
    -----

    Argh ! this is bogus ! , on my 250MB RAM BOX , I want to be able to mlock at
    least something like 200-220MB ,

    What is the purpose of this artificial limitation ?
    I agree that running out of phys pages is bad, but with those big mem sizes like
    256-512MB, a margin of 30-50MB (configurable) should be enough.

    Can we make this configurable via sysctl in 2.4 ?
    (without this realtime multimedia apps will be unable to take advantage of the
    full amount of RAM, because swappable mem is useless in certain cases)

    >
    > Does kernel 2.4 have the same limitiation ?

    Yes :-(

    same code present in 2.4-test6-pre2.

    But I was really wondering : am I the only one that needs more than
    ramsize/2 mlocked() mem in a single process ?
    hopefully not ...

    let me know

    thanks,
    Benno.

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



    This archive was generated by hypermail 2b29 : Sat Aug 05 2000 - 11:54:55 EDT