[ofa-general] Re: [rds-devel] [PATCH RFC] rds: add iwarp support

Olaf Kirch okir at lst.de
Tue Jul 15 08:14:30 PDT 2008


Hi,

I've made a new code drop available on my git tree. It has 90% of
the RDMA code as I would like to do it. There's one major missing
FIXME - the allocation of the WR array for the inval requests - I
didn't get around to that today, and now I have to run.

In general, we have this setup

 -	the mr_pool gets a new set of function pointers so we
	can do fmrs or fastregs flexibly

 -	there's a dummy qp associated with each mr pool that is
	used for inval requests.

 -	there's a new structure called rds_ib_mapping, which has
	all the relevant details to handle the mapping side of a mr

 -	if you allocate a fastreg mr, we will do the dma mapping
	etc. The MAP WR will be submitted when you send a message
	with CMSG_RDMA_DEST referring to this specific MR.

 -	FREE_MR will do the old-fashioned batched unmap for fmrs,
	but for fastregs we will try to create a clone rds_ib_mapping
	that contains the s/g list, and the r_key. establishing
	and invalidating a mapping is decoupled, and happens on
	separate QPs - I think this is okay as the local_inv request
	is really just the r_key that we want to invalidate, so
	we can reuse the struct ib_mr as many times as we want
	as long as we bump the r_key.

Okay, this is very sketchy - please go and look at the code, which
should tell you more.

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



More information about the general mailing list