[ofa-general] Mapping non-contiguous memory in userspace

Eric Barton eeb at sun.com
Tue Nov 20 04:45:06 PST 2007


Hi!

I'm trying to guage whether there might be any support to introduce a
userspace API for mapping non-contiguous memory.

We (the lustre group within SUN) would find it very useful for
creating much simpler RDMAs for bulk I/O in userspace.  Currently, if
the buffers for a bulk data RPC are not contiguous, we have to map
each section separately.  This makes the RDMA descriptor which we pass
over the wire to the peer who will actually perform the RDMA quite
verbose since it requires one (key, address, length) tuple per buffer
fragment.  If we can map all the fragments together, we could have a
single key for all fragments.  And if the buffer fragments are page
aligned whole pages (which they generally are in our usage), we can
collapse the RDMA descriptor into a single contiguous (in network VM)
buffer.

    Cheers,
              Eric




More information about the general mailing list