Print this page
5045 use atomic_{inc,dec}_* instead of atomic_add_*


 360 void rdsv3_sock_init_data(struct rsock *sk);
 361 void rdsv3_sock_exit_data(struct rsock *sk);
 362 void rdsv3_destroy_task_workqueue(rdsv3_workqueue_struct_t *wq);
 363 rdsv3_workqueue_struct_t *rdsv3_create_task_workqueue(char *name);
 364 int rdsv3_conn_constructor(void *buf, void *arg, int kmflags);
 365 void rdsv3_conn_destructor(void *buf, void *arg);
 366 int rdsv3_conn_compare(const void *conn1, const void *conn2);
 367 void rdsv3_loop_init();
 368 int rdsv3_mr_compare(const void *mr1, const void *mr2);
 369 int rdsv3_put_cmsg(struct nmsghdr *msg, int level, int type, size_t size,
 370     void *payload);
 371 int rdsv3_verify_bind_address(ipaddr_t addr);
 372 uint16_t rdsv3_ip_fast_csum(void *buffer, size_t length);
 373 uint_t rdsv3_ib_dma_map_sg(struct ib_device *dev, struct rdsv3_scatterlist
 374         *scat, uint_t num);
 375 void rdsv3_ib_dma_unmap_sg(ib_device_t *dev, struct rdsv3_scatterlist *scat,
 376     uint_t num);
 377 static inline void
 378 rdsv3_sk_sock_hold(struct rsock *sk)
 379 {
 380         atomic_add_32(&sk->sk_refcount, 1);
 381 }
 382 static inline void
 383 rdsv3_sk_sock_put(struct rsock *sk)
 384 {
 385         if (atomic_dec_and_test(&sk->sk_refcount))
 386                 rdsv3_sock_exit_data(sk);
 387 }
 388 static inline int
 389 rdsv3_sk_sock_flag(struct rsock *sk, uint_t flag)
 390 {
 391         return (test_bit(flag, &sk->sk_flag));
 392 }
 393 static inline void
 394 rdsv3_sk_sock_orphan(struct rsock *sk)
 395 {
 396         set_bit(SOCK_DEAD, &sk->sk_flag);
 397 }
 398 
 399 #define rdsv3_sndtimeo(a, b)    b ? 0 : 3600    /* check this value on linux */
 400 #define rdsv3_rcvtimeo(a, b)    b ? 0 : 3600    /* check this value on linux */


 360 void rdsv3_sock_init_data(struct rsock *sk);
 361 void rdsv3_sock_exit_data(struct rsock *sk);
 362 void rdsv3_destroy_task_workqueue(rdsv3_workqueue_struct_t *wq);
 363 rdsv3_workqueue_struct_t *rdsv3_create_task_workqueue(char *name);
 364 int rdsv3_conn_constructor(void *buf, void *arg, int kmflags);
 365 void rdsv3_conn_destructor(void *buf, void *arg);
 366 int rdsv3_conn_compare(const void *conn1, const void *conn2);
 367 void rdsv3_loop_init();
 368 int rdsv3_mr_compare(const void *mr1, const void *mr2);
 369 int rdsv3_put_cmsg(struct nmsghdr *msg, int level, int type, size_t size,
 370     void *payload);
 371 int rdsv3_verify_bind_address(ipaddr_t addr);
 372 uint16_t rdsv3_ip_fast_csum(void *buffer, size_t length);
 373 uint_t rdsv3_ib_dma_map_sg(struct ib_device *dev, struct rdsv3_scatterlist
 374         *scat, uint_t num);
 375 void rdsv3_ib_dma_unmap_sg(ib_device_t *dev, struct rdsv3_scatterlist *scat,
 376     uint_t num);
 377 static inline void
 378 rdsv3_sk_sock_hold(struct rsock *sk)
 379 {
 380         atomic_inc_32(&sk->sk_refcount);
 381 }
 382 static inline void
 383 rdsv3_sk_sock_put(struct rsock *sk)
 384 {
 385         if (atomic_dec_and_test(&sk->sk_refcount))
 386                 rdsv3_sock_exit_data(sk);
 387 }
 388 static inline int
 389 rdsv3_sk_sock_flag(struct rsock *sk, uint_t flag)
 390 {
 391         return (test_bit(flag, &sk->sk_flag));
 392 }
 393 static inline void
 394 rdsv3_sk_sock_orphan(struct rsock *sk)
 395 {
 396         set_bit(SOCK_DEAD, &sk->sk_flag);
 397 }
 398 
 399 #define rdsv3_sndtimeo(a, b)    b ? 0 : 3600    /* check this value on linux */
 400 #define rdsv3_rcvtimeo(a, b)    b ? 0 : 3600    /* check this value on linux */