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

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/common/inet/ilb/ilb.c
          +++ new/usr/src/uts/common/inet/ilb/ilb.c
↓ open down ↓ 630 lines elided ↑ open up ↑
 631  631  
 632  632          rule = kmem_zalloc(sizeof (ilb_rule_t), KM_NOSLEEP);
 633  633          if (rule == NULL) {
 634  634                  mutex_exit(&ilbs->ilbs_g_lock);
 635  635                  return (ENOMEM);
 636  636          }
 637  637  
 638  638          /* ir_name is all 0 to begin with */
 639  639          (void) memcpy(rule->ir_name, cmd->name, ILB_RULE_NAMESZ - 1);
 640  640  
 641      -        rule->ir_ks_instance = atomic_add_int_nv(&ilb_kstat_instance, 1);
      641 +        rule->ir_ks_instance = atomic_inc_uint_nv(&ilb_kstat_instance);
 642  642          stackid = (netstackid_t)(uintptr_t)ilbs->ilbs_ksp->ks_private;
 643  643          if ((rule->ir_ksp = ilb_rule_kstat_init(stackid, rule)) == NULL) {
 644  644                  ret = ENOMEM;
 645  645                  goto error;
 646  646          }
 647  647  
 648  648          if (cmd->topo == ILB_TOPO_IMPL_NAT) {
 649  649                  rule->ir_nat_src_start = cmd->nat_src_start;
 650  650                  rule->ir_nat_src_end = cmd->nat_src_end;
 651  651          }
↓ open down ↓ 1505 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX