> enum ib_atomic_cap {
>@@ -472,7 +473,9 @@ enum ib_wc_opcode {
> * receive by testing (opcode & IB_WC_RECV).
> */
> IB_WC_RECV = 1 << 7,
>- IB_WC_RECV_RDMA_WITH_IMM
>+ IB_WC_RECV_RDMA_WITH_IMM,
>+ IB_WC_MASKED_COMP_SWAP,
>+ IB_WC_MASKED_FETCH_ADD
> };
This breaks the ability to check for a receive by testing opcode & IB_WC_RECV.
Is it even necessary to define new work completion opcodes?
> enum ib_wc_flags {
>@@ -689,6 +692,8 @@ enum ib_wr_opcode {
> IB_WR_RDMA_READ_WITH_INV,
> IB_WR_LOCAL_INV,
> IB_WR_FAST_REG_MR,
>+ IB_WR_ATOMIC_MASKED_CMP_AND_SWP,
>+ IB_WR_ATOMIC_MASKED_FETCH_AND_ADD,
> };
Just tossing this out as a possibility -- the mask itself could be used to
indicate the type of operation. Kernel clients would always set the mask for
all atomic operations.
Also, is there a kernel user for this functionality?
- Sean
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html