On Thu, Nov 23, 2017 at 11:14:40AM +0200, Moni Shoua wrote: > Since all dv_create_qp() API functions call the ibv_cmd_create_qp() > and put driver data at the end of the core data it will be simplest to > manage this in one function with one additional driver data structure > (that includes a comp_mask to describe the content of the block of > data). Also, the signature of the mlx5_dv_create_dct() should take an > extra parameter (besides ib_qp_init_attr and mlx4_dct_init_attr) that > is common to all dv_create_qp() functions to represent the shared > driver data. We can avoid all this if we declare only one API function > to create a driver QP. I don't see why it makes any difference. Shuffle the data around inside a mlx5_dv_create_dct to get to the internal format then call the internal create_qp helper. Why should it accept a 'shared driver data'? What does that even mean from the user facing API? Jason -- 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