[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