On Fri, Aug 19, 2016 at 12:26 PM, Sagi Grimberg <sagi@xxxxxxxxxxx> wrote: > >>>> why is that needed? what's the proposed/possible applicative usage of >>>> that bit? >>> >>> >>> It's consistent with the kernel API that adds similar bit for LSO. >>> http://lxr.free-electrons.com/source/include/rdma/ib_verbs.h#L842 >> >> >> C&P is not something you want to use as argument, specifically if no >> one uses this 10y old define nowadays (and maybe never) >> >> net.git]# git grep IB_WC_LSO drivers/infiniband/ include/rdma/ >> drivers/infiniband/hw/mlx4/cq.c: wc->opcode = IB_WC_LSO; >> include/rdma/ib_verbs.h: IB_WC_LSO, > > > IPoIB never looks at wc->opcode, does it mean that it is redundant? I tend to agree :) > I tend to agree that something that is not used shouldn't exist, but > my concern is what is the semantics in the lack of IBV_WC_TSO? You post > IBV_WR_TSO and when you get the completion and happen to look at the > wc->opcode, what would you expect to see? again, fact is that the application (ipoib) doesn't need it, as you can see mlx5 even doesn't implement that. The application should expect a completion of a send, that's it. # git grep WR_LSO drivers/infiniband/ drivers/infiniband/hw/mlx4/qp.c: if (wr->opcode == IB_WR_LSO) { drivers/infiniband/hw/mlx5/qp.c: if (wr->opcode == IB_WR_LSO) { drivers/infiniband/sw/rxe/rxe_comp.c: case IB_WR_LSO: return IB_WC_LSO; drivers/infiniband/ulp/ipoib/ipoib_ib.c: priv->tx_wr.wr.opcode = IB_WR_LSO; [root@r-dcs58 net.git]# git grep WC_LSO drivers/infiniband/ drivers/infiniband/hw/mlx4/cq.c: wc->opcode = IB_WC_LSO; drivers/infiniband/sw/rxe/rxe_comp.c: case IB_WR_LSO: return IB_WC_LSO; -- 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