[openib-general] kernel VM monitor for memory registration caching

Roland Dreier rolandd at cisco.com
Mon Aug 1 06:12:24 PDT 2005


    Gleb>  First of all, you have one user_delta per mm that user can
    Gleb> poll from userspace. Is it possible to make user_delta to be
    Gleb> part of dreg_region instead of dreg_context and module will
    Gleb> set it whenever registration becomes invalid. Field
    Gleb> 'invalid' will be added to buf_info structure and pointer to
    Gleb> it will be passed to kernel at registration time.  This way
    Gleb> the userpace can look up cache and check if registration is
    Gleb> still valid. No need to rescan cache from userspace, we
    Gleb> already scanned it once from kernel after all. With your
    Gleb> current approach userspace will need to search for mr_handle
    Gleb> in the cache and invalidate the entry that holds it.

That idea sounds familiar ;)

    Gleb>  You change vma_ops in vma to catch open/close events. What
    Gleb> about nopage() method in vma_ops? We have to forward it to
    Gleb> original vma_ops?

Can nopage ever affect registered memory?  The registration process
makes sure the pages are resident and pinned, so I don't see how a
region's mapping could ever be changed by a call to a vma's nopage method.

 - R.



More information about the general mailing list