[rds-devel] New set of RDS patches
Olaf Kirch
olaf.kirch at oracle.com
Thu Jan 10 02:03:34 PST 2008
So I tried to be a good citizen and post my patch series as a bunch
of nicely threaded mail messages, but it seems something in kmail,
or the Oracle mail system, or the list software, or whatever, choked.
Dang.
So here's the introductory message; please find the patch set attached
as a tarball.
------------------ snip ---------------
Date: Thu, 10 Jan 2008 10:01:33 +0100
Subject: [PATCH 0/14] Various RDS patches
To: rds-devel at oss.oracle.com
Cc: vlad at mellanox.co.il
Here is a set of patches for RDS. It changes the user space interface
of the RDMA barrier code a little, so you will need the set of rds-tools
patches I'm posting in a separate message.
[RDS] In rds_barrier, RDMA_DONE should be cleared
[RDS] Fix race conditions in the RDMA barrier code
[RDS] Clean up the RDMA barrier wait code
[RDS] Add a stats counter for RDMA ops
[RDS] Handle wraparound of the RDMA ID counter
[RDS] Fix a bug in setting up memory ranges
[RDS] Don't crash if rds_ib_add_one fails
[RDS] Increase the RDS FMR pool size to 2k
[RDS] Introduce fmr_message_size module option
[RDS] Do not drop all RDMA ops when reconnecting
[RDS] Properly fence off RDMA reads
Up to and including this patch, it's only bugfixes
or small enhancements.
The major motivation for the next three patches was
the desire to have MRs with "fire and forget" behavior.
I.e. the application allocates a MR, asks the peer
to RDMA to/from it and have the kernel release the
MR as soon as the RDMA completes. This eliminates
one system call (we no longer need to call FREE_MR),
and it makes more efficient use of MRs, as they are
a very scarce resource.
[RDS] Add support for extension headers
This adds the plumbing for RDS header extensions.
It reserves 16 bytes of extra space at the end of
the RDS header, which can be used for various purposes.
[RDS] Add support for RDMA use_once buffers
This implements the above mentioned "fire and forget"
MRs. It does so by sending the MR key inside a
RDS header extension, as part of the RDS message
immediately following the RDMA.
[RDS] Transmit RDS protocol version in first packet
This adds another extension header, including the
RDS protocol version, and sends this header as part
of the very first packet going across the wire when
a connection is (re-) established. This will allow
future RDS protocol changes to be implemented with
backwards compatibility, so that we can perform
rolling updates of a cluster.
Olaf
--
Olaf Kirch | --- o --- Nous sommes du soleil we love when we play
okir at lst.de | / | \ sol.dhoop.naytheet.ah kin.ir.samse.qurax
-------------- next part --------------
A non-text attachment was scrubbed...
Name: rds-for-vlad.tar.bz2
Type: application/x-tbz
Size: 15122 bytes
Desc: not available
Url : http://oss.oracle.com/pipermail/rds-devel/attachments/20080110/0f2fd516/rds-for-vlad.tar.bin
More information about the rds-devel
mailing list