RDS: Implement masked atomic operations
Add two CMSGs for masked versions of cswp and fadd. args struct modified to use a union for different atomic op type's arguments. Change IB to do masked atomic ops. Atomic op type in rds_message similarly unionized. Signed-off-by: Andy Grover <andy.grover@oracle.com>
This commit is contained in:
parent
59f740a6ae
commit
20c72bd5f5
5 changed files with 64 additions and 13 deletions
|
@ -843,6 +843,8 @@ static int rds_rm_size(struct msghdr *msg, int data_len)
|
|||
|
||||
case RDS_CMSG_ATOMIC_CSWP:
|
||||
case RDS_CMSG_ATOMIC_FADD:
|
||||
case RDS_CMSG_MASKED_ATOMIC_CSWP:
|
||||
case RDS_CMSG_MASKED_ATOMIC_FADD:
|
||||
cmsg_groups |= 1;
|
||||
size += sizeof(struct scatterlist);
|
||||
break;
|
||||
|
@ -894,6 +896,8 @@ static int rds_cmsg_send(struct rds_sock *rs, struct rds_message *rm,
|
|||
break;
|
||||
case RDS_CMSG_ATOMIC_CSWP:
|
||||
case RDS_CMSG_ATOMIC_FADD:
|
||||
case RDS_CMSG_MASKED_ATOMIC_CSWP:
|
||||
case RDS_CMSG_MASKED_ATOMIC_FADD:
|
||||
ret = rds_cmsg_atomic(rs, rm, cmsg);
|
||||
break;
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue