[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