[lkml]   [2005]   [Jun]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    Subjectget_user_pages() and shared memory question

    Is it possible for a page of memory that's been "grabbed" with get_user_pages() to ever be
    allocated to another process? I'm assuming the answer is no, but I have a specific case I
    want to ask about.

    Let's say an application allocates some shared memory, and then calls into a driver which
    calls get_user_pages(). The driver exits without releasing the pages, so they now have a
    reference count on them. Then the application deallocates the shared memory. At this
    point, the virtual addresses disappear, and no process owns them, but the pages still have
    a reference count.

    Another process now tries to allocate a shared memory buffer. Is there any way that this
    new buffer can contain those pages that were grabbed with get_user_pages() (i.e. that
    already have a reference count)?

    Until 2.6.7, there was a bug in the VM where a page that was grabbed with get_user_pages()
    could be swapped out. Those of you familar with the OpenIB work know what I'm talking
    about. Would that bug affect anything I'm talking about?

    Timur Tabi
    Staff Software Engineer

    One thing a Southern boy will never say is,
    "I don't think duct tape will fix it."
    -- Ed Smylie, NASA engineer for Apollo 13
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to
    More majordomo info at
    Please read the FAQ at

     \ /
      Last update: 2005-06-21 17:22    [W:0.025 / U:123.240 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site