On Mon, Oct 13, 2014 at 11:32:09AM +0300, Sagi Grimberg wrote: > > > >>+static void set_indir_umr_segment(struct mlx5_wqe_umr_ctrl_seg *umr, > >>+ struct ib_send_wr *wr) > >>+{ > >>+ u64 mask; > >>+ u32 list_len = wr->wr.indir_reg.indir_list_len; > >>+ > >>+ memset(umr, 0, sizeof(*umr)); > >>+ > >>+ umr->klm_octowords = get_klm_octo(list_len * 2); > >>+ mask = MLX5_MKEY_MASK_LEN | > >>+ MLX5_MKEY_MASK_PAGE_SIZE | > >>+ MLX5_MKEY_MASK_START_ADDR | > >>+ MLX5_MKEY_MASK_EN_RINVAL | > >>+ MLX5_MKEY_MASK_KEY | > >>+ MLX5_MKEY_MASK_LR | > >>+ MLX5_MKEY_MASK_LW | > >>+ MLX5_MKEY_MASK_RR | > >>+ MLX5_MKEY_MASK_RW | > >>+ MLX5_MKEY_MASK_A | > >>+ MLX5_MKEY_MASK_FREE; > >>+ > >>+ umr->mkey_mask = cpu_to_be64(mask); > >>+} > > > >here you basically replicate the majority of the code from > >set_reg_umr_segment - share the common part... > > I've thought about it, but I know Eli prefers not to centralize the > umr control segment (and mkey context) setting routines at this point. > I am not against doing it at all, but let's let Eli comment here. > We have some versions of this mask building but they are not identical. Note that we build the mask at compile time so it does not affect code size and it will make future changes easier. -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html