[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