Re: [ofa-general] Re: [GIT PULL] please pull ummunotify

Jason Gunthorpe
2009-10-13T16:27:25Z

On Tue, Oct 13, 2009 at 08:40:06AM +0200, Ingo Molnar wrote:
>
> * Jason Gunthorpe <jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org> wrote:
>
> > On Mon, Oct 12, 2009 at 10:20:46PM +0200, Ingo Molnar wrote:
> > > It might be more acceptable because the flag-hint mechanism can at most
> > > cause over-flushing - while with perf events we might miss to invalidate
> > > a range altogether.
> >
> > Right. Overflushing is not important, but missing an event entirely is
> > not recoverable (at least within the current kernel APIs).
>
> So if we detect event loss in the perf event case (should not happen
> with sufficient buffering but it is a possibility the code should be
> prepared for) then we can just flush the [0,-1ULL] range, right?

No, the reason overflushing within a registration is OK is because of
how the MPI APIs are defined and typically used. The map and
registration window will typically be 1:1 ie you malloc something and
then register it. It is an error to register beyond your malloced
space. So, in truth, the hint stuff isn't really essential for MPI.

flushing all ranges would result in data loss since ranges may be in
use at the time, and 'flush' is actually unregister/reregister - the
hardware cannot do in place atomic modify.

Jason