[openib-general] Re: [PATCH][RFC][0/4] InfiniBand userspace verbs implementation

Roland Dreier roland at topspin.com
Mon Apr 11 17:21:04 PDT 2005


    Roland> Yes, because the kernel may go through and unmap pages
    Roland> from userspace while trying to swap.  Since we have the
    Roland> page locked in the kernel, the physical page won't go
    Roland> anywhere, but userspace might end up with a different page
    Roland> mapped at the same virtual address.

    Andrew> That shouldn't happen.  If get_user_pages() has elevated
    Andrew> the refcount on a page then the following can happen:

    ...

    Andrew> IOW: while the page has an elevated refcount from
    Andrew> get_user_pages(), that physical page is 100% pinned.
    Andrew> Once you've done the set_page_dirty+put_page(), the page
    Andrew> is again under control of the VM.

Hmm... I've never tested it first hand but Libor assures me there is a
something like what I said.  Libor, did I get the explanation right?

 - R.



More information about the general mailing list