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


 132         kstat_named_t   rscalls;
 133         kstat_named_t   rsbadcalls;
 134         kstat_named_t   rsnullrecv;
 135         kstat_named_t   rsbadlen;
 136         kstat_named_t   rsxdrcall;
 137         kstat_named_t   rsdupchecks;
 138         kstat_named_t   rsdupreqs;
 139 } cots_rsstat_tmpl = {
 140         { "calls",      KSTAT_DATA_UINT64 },
 141         { "badcalls",   KSTAT_DATA_UINT64 },
 142         { "nullrecv",   KSTAT_DATA_UINT64 },
 143         { "badlen",     KSTAT_DATA_UINT64 },
 144         { "xdrcall",    KSTAT_DATA_UINT64 },
 145         { "dupchecks",  KSTAT_DATA_UINT64 },
 146         { "dupreqs",    KSTAT_DATA_UINT64 }
 147 };
 148 
 149 #define CLONE2STATS(clone_xprt) \
 150         ((struct cots_master_data *)(clone_xprt)->xp_master->xp_p2)->cmd_stats
 151 #define RSSTAT_INCR(s, x)       \
 152         atomic_add_64(&(s)->x.value.ui64, 1)
 153 
 154 /*
 155  * Pointer to a transport specific `ready to receive' function in rpcmod
 156  * (set from rpcmod).
 157  */
 158 void    (*mir_start)(queue_t *);
 159 uint_t  *svc_max_msg_sizep;
 160 
 161 /*
 162  * the address size of the underlying transport can sometimes be
 163  * unknown (tinfo->ADDR_size == -1).  For this case, it is
 164  * necessary to figure out what the size is so the correct amount
 165  * of data is allocated.  This is an itterative process:
 166  *      1. take a good guess (use T_MINADDRSIZE)
 167  *      2. try it.
 168  *      3. if it works then everything is ok
 169  *      4. if the error is ENAMETOLONG, double the guess
 170  *      5. go back to step 2.
 171  */
 172 #define T_UNKNOWNADDRSIZE       (-1)




 132         kstat_named_t   rscalls;
 133         kstat_named_t   rsbadcalls;
 134         kstat_named_t   rsnullrecv;
 135         kstat_named_t   rsbadlen;
 136         kstat_named_t   rsxdrcall;
 137         kstat_named_t   rsdupchecks;
 138         kstat_named_t   rsdupreqs;
 139 } cots_rsstat_tmpl = {
 140         { "calls",      KSTAT_DATA_UINT64 },
 141         { "badcalls",   KSTAT_DATA_UINT64 },
 142         { "nullrecv",   KSTAT_DATA_UINT64 },
 143         { "badlen",     KSTAT_DATA_UINT64 },
 144         { "xdrcall",    KSTAT_DATA_UINT64 },
 145         { "dupchecks",  KSTAT_DATA_UINT64 },
 146         { "dupreqs",    KSTAT_DATA_UINT64 }
 147 };
 148 
 149 #define CLONE2STATS(clone_xprt) \
 150         ((struct cots_master_data *)(clone_xprt)->xp_master->xp_p2)->cmd_stats
 151 #define RSSTAT_INCR(s, x)       \
 152         atomic_inc_64(&(s)->x.value.ui64)
 153 
 154 /*
 155  * Pointer to a transport specific `ready to receive' function in rpcmod
 156  * (set from rpcmod).
 157  */
 158 void    (*mir_start)(queue_t *);
 159 uint_t  *svc_max_msg_sizep;
 160 
 161 /*
 162  * the address size of the underlying transport can sometimes be
 163  * unknown (tinfo->ADDR_size == -1).  For this case, it is
 164  * necessary to figure out what the size is so the correct amount
 165  * of data is allocated.  This is an itterative process:
 166  *      1. take a good guess (use T_MINADDRSIZE)
 167  *      2. try it.
 168  *      3. if it works then everything is ok
 169  *      4. if the error is ENAMETOLONG, double the guess
 170  *      5. go back to step 2.
 171  */
 172 #define T_UNKNOWNADDRSIZE       (-1)