Re: read/write on RADOS using external buffer

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

 



On Wed, 2010-10-20 at 10:04 -0600, Sage Weil wrote:
> 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?

No, I don't think that will be required.

> 
> 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.

I think it will be OK to have the data payload buffer separate:
for RDMA we'd need to receive the header information into a buffer
pre-posted on the receive queue.  It will contain a remote key 
we'd use when queuing the RDMA read operation for the payload.

-- Jim

> 
> 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