lkml.org 
[lkml]   [2005]   [Apr]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: [PATCH][RFC][0/4] InfiniBand userspace verbs implementation
    From
    Date
    On Mon, 2005-04-18 at 11:09 -0500, Timur Tabi wrote:
    > Roland Dreier wrote:
    > > Troy> How is memory pinning handled? (I haven't had time to read
    > > Troy> all the code, so please excuse my ignorance of something
    > > Troy> obvious).
    > >
    > > The userspace library calls mlock() and then the kernel does
    > > get_user_pages().
    >
    > Why do you call mlock() and get_user_pages()? In our code, we only call mlock(), and the
    > memory is pinned.

    this is a myth; linux is free to move the page about in physical memory
    even if it's mlock()ed!!

    And even then, the user can munlock the memory from another thread etc
    etc. Not a good idea.

    get_user_pages() is used from AIO and other parts of the kernel for
    similar purposes and in fact is designed for it, so it better work. If
    it has bugs those should be fixed, not worked around!


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

    \
     
     \ /
      Last update: 2005-04-18 18:19    [W:4.190 / U:0.012 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site