[openib-general] Re: [PATCH][RFC][0/4] InfiniBand userspace verbs implementation
Andrew Morton
akpm at osdl.org
Tue Apr 26 12:28:50 PDT 2005
Roland Dreier <roland at topspin.com> wrote:
>
> Libor> Do you mean that the set/clear parameters to do_mlock()
> Libor> are the actual flags which are set/cleared by the caller?
> Libor> Also, the issue remains that the flags are not reference
> Libor> counted which is a problem if you are dealing with
> Libor> overlapping memory region, or even if one region ends and
> Libor> another begins on the same page. Since the desire is to be
> Libor> able to pin any memory that a user can malloc this is a
> Libor> likely scenario.
>
> Good point... we need to figure out how to handle:
>
> a) app registers 0x0000 through 0x17ff
> b) app registers 0x1800 through 0x2fff
> c) app unregisters 0x0000 through 0x17ff
> d) the page at 0x1000 must stay pinned
The userspace library should be able to track the tree and the overlaps,
etc. Things might become interesting when the memory is MAP_SHARED
pagecache and multiple independent processes are involved, although I guess
that'd work OK.
But afaict the problem wherein part of a page needs VM_DONTCOPY and the
other part does not cannot be solved.
More information about the general
mailing list