[ofa-general] [PATCH v2] IB/mlx4: Add send with invalidate support

Or Gerlitz ogerlitz at voltaire.com
Sun May 11 22:44:31 PDT 2008


Eli Cohen wrote:
> Add send with invalidate support to mlx4.
> Signed-off-by: Eli Cohen <eli at mellanox.co.il>
Hi Eli,

Thinking about it a little, I don't see how this send-with-invalidate 
support is applicable for ULPs such as SRP, iSER and RDS who use the 
Mellanox FMRs.

This is because to invalidate an rkey they call fmr_unmap and what the 
mlx4 (similarly for mthca) driver does at mlx4_ib_unmap_fmr() is call 
mlx4_fmr_unmap() for each fmr and then issue SYNC_TPT command. 

Even if doing send-with-inv would save the ULP the indirect call to 
mlx4_fmr_unmap() (which does almost nothing by itself), if it doesn't 
cause the HW/FW to issue SYNC_TPT, it can not replace the call to 
ib_unmap_fmr in the side that generated this rkey. And if it does cause 
SYNC_TPT, the effect of amortizing the cost of this heavy command 
through un-mapping on many fmrs at once is lost, correct?

Or
> mlx4_ib_unmap_fmr calls mlx4_fmr_unmap for each fmr and then issues SYNC_TPT command
>
> void mlx4_fmr_unmap(struct mlx4_dev *dev, struct mlx4_fmr *fmr,
>                     u32 *lkey, u32 *rkey)
> {
>         if (!fmr->maps)
>                 return;
>
>         fmr->maps = 0;
>
>         *(u8 *) fmr->mpt = MLX4_MPT_STATUS_SW;
> }
>







More information about the general mailing list