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:
@@ -316,8 +316,18 @@ struct rds_message {
|
||||
struct {
|
||||
struct rm_atomic_op {
|
||||
int op_type;
|
||||
uint64_t op_swap_add;
|
||||
uint64_t op_compare;
|
||||
union {
|
||||
struct {
|
||||
uint64_t compare;
|
||||
uint64_t swap;
|
||||
uint64_t compare_mask;
|
||||
uint64_t swap_mask;
|
||||
} op_m_cswp;
|
||||
struct {
|
||||
uint64_t add;
|
||||
uint64_t nocarry_mask;
|
||||
} op_m_fadd;
|
||||
};
|
||||
|
||||
u32 op_rkey;
|
||||
u64 op_remote_addr;
|
||||
|
Reference in New Issue
Block a user