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_nat.c
          +++ new/usr/src/uts/common/inet/ilb/ilb_nat.c
↓ open down ↓ 228 lines elided ↑ open up ↑
 229  229                  mutex_exit(&ilbs->ilbs_nat_src[idx].nsh_lock);
 230  230                  return (NULL);
 231  231          }
 232  232          tmp->nse_src_addr = *nat_src;
 233  233          tmp->nse_serv_addr = *serv_addr;
 234  234          tmp->nse_port = port;
 235  235          tmp->nse_nsh_lock = &ilbs->ilbs_nat_src[idx].nsh_lock;
 236  236          tmp->nse_refcnt = 1;
 237  237  
 238  238          (void) snprintf(arena_name, ARENA_NAMESZ, "ilb_ns_%u",
 239      -            atomic_add_32_nv(&ilb_nat_src_instance, 1));
      239 +            atomic_inc_32_nv(&ilb_nat_src_instance));
 240  240          if ((tmp->nse_port_arena = vmem_create(arena_name,
 241  241              (void *)NAT_PORT_START, NAT_PORT_SIZE, 1, NULL, NULL, NULL, 1,
 242  242              VM_SLEEP | VMC_IDENTIFIER)) == NULL) {
 243  243                  kmem_free(tmp, sizeof (*tmp));
 244  244                  return (NULL);
 245  245          }
 246  246  
 247  247          list_insert_tail(head, tmp);
 248  248          mutex_exit(&ilbs->ilbs_nat_src[idx].nsh_lock);
 249  249  
↓ open down ↓ 360 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX