[openib-general] FMR and how they work
Fab Tillier
ftillier at infiniconsys.com
Wed May 4 11:31:00 PDT 2005
> From: Caitlin Bestler [mailto:caitlin.bestler at gmail.com]
> Sent: Wednesday, May 04, 2005 11:18 AM
>
> On 5/4/05, Fab Tillier <ftillier at infiniconsys.com> wrote:
> > > From: Dan Bar Dov [mailto:danb at voltaire.com]
> > > Sent: Wednesday, May 04, 2005 1:00 AM
> > >
> > > Voltair's IB based ISER indeed uses kDAPL so it will be very simple to
> > > atapt it to iWARP.
> > >
> > > Voltaire's kDAPL supports FMR using PLATFORM registration type, and it
> > > is used by the ISER implementation.
> > >
> >
> > Why doesn't iSER just use a single un-translated MR for all of physical
> > memory (like the other kernel ULPs)? It would then just call the DMA
> > mapping functions and be done with it - no registration at all is going
> > to be faster than FMRs.
> >
>
>
> An FMR can be used to advertise a target buffer that is being read into
> as a single logical buffer. Using physical memory would require
>
> a) exporting the physical page list of where your buffers were (making
> the buffer advertisement larger and more complex)
>
> b) Trusting whoever is on the other end of the connection with access
> to your entire physical memory.
I assume that iSER (like SRP) supports scatter gather in I/O requests, so a)
shouldn't matter - that is, I expect that the storage subsystem hands the
iSER driver a list of physical addresses and a SCSI-like command. Copying
the page list is far simpler than getting a virtual address.
I see no issue with trusting I/O controllers on the fabric. They are no
more a threat than local I/O controllers. This addresses issue b).
- Fab
More information about the general
mailing list