diff options
Diffstat (limited to 'include/linux/rds.h')
-rw-r--r-- | include/linux/rds.h | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/include/linux/rds.h b/include/linux/rds.h index 7f3971d9fc5c..9239152abf7a 100644 --- a/include/linux/rds.h +++ b/include/linux/rds.h | |||
@@ -73,6 +73,8 @@ | |||
73 | #define RDS_CMSG_RDMA_MAP 3 | 73 | #define RDS_CMSG_RDMA_MAP 3 |
74 | #define RDS_CMSG_RDMA_STATUS 4 | 74 | #define RDS_CMSG_RDMA_STATUS 4 |
75 | #define RDS_CMSG_CONG_UPDATE 5 | 75 | #define RDS_CMSG_CONG_UPDATE 5 |
76 | #define RDS_CMSG_ATOMIC_FADD 6 | ||
77 | #define RDS_CMSG_ATOMIC_CSWP 7 | ||
76 | 78 | ||
77 | #define RDS_INFO_FIRST 10000 | 79 | #define RDS_INFO_FIRST 10000 |
78 | #define RDS_INFO_COUNTERS 10000 | 80 | #define RDS_INFO_COUNTERS 10000 |
@@ -237,6 +239,23 @@ struct rds_rdma_args { | |||
237 | u_int64_t user_token; | 239 | u_int64_t user_token; |
238 | }; | 240 | }; |
239 | 241 | ||
242 | struct rds_atomic_args { | ||
243 | rds_rdma_cookie_t cookie; | ||
244 | uint64_t local_addr; | ||
245 | uint64_t remote_addr; | ||
246 | union { | ||
247 | struct { | ||
248 | uint64_t compare; | ||
249 | uint64_t swap; | ||
250 | } cswp; | ||
251 | struct { | ||
252 | uint64_t add; | ||
253 | } fadd; | ||
254 | }; | ||
255 | uint64_t flags; | ||
256 | uint64_t user_token; | ||
257 | }; | ||
258 | |||
240 | struct rds_rdma_notify { | 259 | struct rds_rdma_notify { |
241 | u_int64_t user_token; | 260 | u_int64_t user_token; |
242 | int32_t status; | 261 | int32_t status; |