Re: [PATCH] ummunotify: Userspace support for MMU notifications

From: Gleb Natapov
Date: Wed Apr 14 2010 - 05:06:55 EST


On Tue, Apr 13, 2010 at 10:57:32AM -0700, Roland Dreier wrote:
> > It is further claimed that "… other tricks are not robust". I wrote
> > the code used in Scali/Platform MPI handling the issue. I do not
> > think its fair to claim that this MPI is not robust in this matter
> > nor that is performance is bad.
>
> The Open MPI developers have spent a lot of effort trying to handle this
> purely in userspace and still do not believe that a truly robust
> solution is possible without kernel help. Perhaps they can expand on
> what the obstacles are.
>
The problem is that glibc doesn't provide correct type of hooks for MPI
to use. You can hook into free(), but the hook is called when
application frees memory, not when memory is returned back to the kernel
and since MPI wants to cache registration across free()/malloc() if
possible those hooks are not good enough. To overcome this MPI tries to
provide its own memory management library (luckily glibc defines
most/all memory management functions as weak) with proper hooks present, but
that poses a whole lot of other problems and memory management is really
not MPI's job. Even if glibc will provide proper hooks some day HPC users
may want to use other, more performance oriented, memory management
libraries instead of using build in glibc one. Relying on glibc hooks
will prevent them from doing so.

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