[rds-devel] initial patches to support device migration

Andy Grover andy.grover at oracle.com
Thu Apr 22 15:49:19 PDT 2010


Zach Brown wrote:
>> Please prepend "RDS:" or "RDS/IB:" as appropriate to patch subjects.
> 
> Oh, and I guess we need to duplicate the changes for the iw_ side of the 
> universe.  Is there a particular way that you like to handle that?

Short answer:

Don't bother, just leave it for now.

Long answer:

The main difference between ib_ and iw_ is ib_ uses Fast Memory 
Registrations (FMRs), and iw_ uses FastReg Work Requests (FRWRs). FRWRs 
are better in the abstract, because they are in the IB spec, whereas 
FMRs are not.

IB can't switch to FRWRs until GET_MR sockopt has been deprecated and 
removed, in favor of GET_MR_FOR_DEST. OFED 1.5 introduced 
GET_MR_FOR_DEST, we'll probably deprecate GET_MR in 1.6, and remove it 
in 1.7.

Once we do that, then we can contemplate a switch to FRWRs for IB, and 
have a unified codebase for IB and iWARP.

Until then, we need to keep supporting iWARP bcopy. We could either work 
to put support for iWARP bcopy into ib_, or keep mindlessly applying ib_ 
patches to iw_, so it doesn't bit-rot. So far I've found it easier to 
double-patch, but in retrospect the other way would've been better. That 
was the path that Olaf and Jon Mason were originally pursuing, but when 
I came on board, I just couldn't guarantee the iw changes wouldn't break 
ib, so I punted and pulled it out into its own transport.

Usually applying ib_ fixes to iw_ is pretty straightforward, but I wait 
until right before we're ready to push it to ofed or mainline to sync 
them up. So don't bother, just leave it for now. :)

Regards -- Andy



More information about the rds-devel mailing list