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


 165         kstat_named_t   rstotalreplies;
 166         kstat_named_t   rstotallongreplies;
 167         kstat_named_t   rstotalinlinereplies;
 168 } rdmarsstat = {
 169         { "calls",      KSTAT_DATA_UINT64 },
 170         { "badcalls",   KSTAT_DATA_UINT64 },
 171         { "nullrecv",   KSTAT_DATA_UINT64 },
 172         { "badlen",     KSTAT_DATA_UINT64 },
 173         { "xdrcall",    KSTAT_DATA_UINT64 },
 174         { "dupchecks",  KSTAT_DATA_UINT64 },
 175         { "dupreqs",    KSTAT_DATA_UINT64 },
 176         { "longrpcs",   KSTAT_DATA_UINT64 },
 177         { "totalreplies",       KSTAT_DATA_UINT64 },
 178         { "totallongreplies",   KSTAT_DATA_UINT64 },
 179         { "totalinlinereplies", KSTAT_DATA_UINT64 },
 180 };
 181 
 182 kstat_named_t *rdmarsstat_ptr = (kstat_named_t *)&rdmarsstat;
 183 uint_t rdmarsstat_ndata = sizeof (rdmarsstat) / sizeof (kstat_named_t);
 184 
 185 #define RSSTAT_INCR(x)  atomic_add_64(&rdmarsstat.x.value.ui64, 1)
 186 /*
 187  * Create a transport record.
 188  * The transport record, output buffer, and private data structure
 189  * are allocated.  The output buffer is serialized into using xdrmem.
 190  * There is one transport record per user process which implements a
 191  * set of services.
 192  */
 193 /* ARGSUSED */
 194 int
 195 svc_rdma_kcreate(char *netid, SVC_CALLOUT_TABLE *sct, int id,
 196     rdma_xprt_group_t *started_xprts)
 197 {
 198         int error;
 199         SVCMASTERXPRT *xprt;
 200         struct rdma_data *rd;
 201         rdma_registry_t *rmod;
 202         rdma_xprt_record_t *xprt_rec;
 203         queue_t *q;
 204         /*
 205          * modload the RDMA plugins is not already done.




 165         kstat_named_t   rstotalreplies;
 166         kstat_named_t   rstotallongreplies;
 167         kstat_named_t   rstotalinlinereplies;
 168 } rdmarsstat = {
 169         { "calls",      KSTAT_DATA_UINT64 },
 170         { "badcalls",   KSTAT_DATA_UINT64 },
 171         { "nullrecv",   KSTAT_DATA_UINT64 },
 172         { "badlen",     KSTAT_DATA_UINT64 },
 173         { "xdrcall",    KSTAT_DATA_UINT64 },
 174         { "dupchecks",  KSTAT_DATA_UINT64 },
 175         { "dupreqs",    KSTAT_DATA_UINT64 },
 176         { "longrpcs",   KSTAT_DATA_UINT64 },
 177         { "totalreplies",       KSTAT_DATA_UINT64 },
 178         { "totallongreplies",   KSTAT_DATA_UINT64 },
 179         { "totalinlinereplies", KSTAT_DATA_UINT64 },
 180 };
 181 
 182 kstat_named_t *rdmarsstat_ptr = (kstat_named_t *)&rdmarsstat;
 183 uint_t rdmarsstat_ndata = sizeof (rdmarsstat) / sizeof (kstat_named_t);
 184 
 185 #define RSSTAT_INCR(x)  atomic_inc_64(&rdmarsstat.x.value.ui64)
 186 /*
 187  * Create a transport record.
 188  * The transport record, output buffer, and private data structure
 189  * are allocated.  The output buffer is serialized into using xdrmem.
 190  * There is one transport record per user process which implements a
 191  * set of services.
 192  */
 193 /* ARGSUSED */
 194 int
 195 svc_rdma_kcreate(char *netid, SVC_CALLOUT_TABLE *sct, int id,
 196     rdma_xprt_group_t *started_xprts)
 197 {
 198         int error;
 199         SVCMASTERXPRT *xprt;
 200         struct rdma_data *rd;
 201         rdma_registry_t *rmod;
 202         rdma_xprt_record_t *xprt_rec;
 203         queue_t *q;
 204         /*
 205          * modload the RDMA plugins is not already done.