Re: read/write on RADOS using external buffer

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, 20 Oct 2010, Jim Schutt wrote:
> Hi,
> 
> On Wed, 2010-10-20 at 09:34 -0600, Sage Weil wrote:
> > 
> > > I think I can propose a patch which solves this problem without
> > rados
> > > client-specific data, threads, tids, maps, thread-local data, or
> > > changes to SimpleMessenger.
> > 
> > SimpleMessenger will change no matter what, because the core problem 
> > that we're trying to solve is that it allocates a new buffer when a 
> > message is being read off the wire.  See 
> > SimpleMessenger::read_message().
> 
> FWIW, this buffer allocation is also an issue for trying to
> implement an RDMA-based messenger. It would be nice to have
> a pool of buffers to use that are already registered for RDMA,
> to reduce the memory registration overhead.

That much is easy enough if it doesn't matter which buffer you use for a 
particular message.  If the result of a specific read needs to be read 
into a specific buffer, then something like the mechanism we're talking 
about will be needed.  Do you know if RDMA will require that?

That's what the kernel client does, incidentally, except the callback is 
to find/allocate the whole message struct, not just the data payload 
portion.  We could do that here as well, although the memory reservation 
requirements on the userspace side aren't as critical as in the kernel.

sage
--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [CEPH Users]     [Ceph Large]     [Information on CEPH]     [Linux BTRFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux