[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20091013162725.GL18578@obsidianresearch.com>
Date: Tue, 13 Oct 2009 10:27:25 -0600
From: Jason Gunthorpe <jgunthorpe@...idianresearch.com>
To: Ingo Molnar <mingo@...e.hu>
Cc: Pavel Machek <pavel@....cz>, Roland Dreier <rdreier@...co.com>,
Peter Zijlstra <peterz@...radead.org>,
linux-rdma@...r.kernel.org, linux-kernel@...r.kernel.org,
Paul Mackerras <paulus@...ba.org>,
Anton Blanchard <anton@...ba.org>,
general@...ts.openfabrics.org, akpm@...ux-foundation.org,
torvalds@...ux-foundation.org, Jeff Squyres <jsquyres@...co.com>
Subject: Re: [ofa-general] Re: [GIT PULL] please pull ummunotify
On Tue, Oct 13, 2009 at 08:40:06AM +0200, Ingo Molnar wrote:
>
> * Jason Gunthorpe <jgunthorpe@...idianresearch.com> 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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists