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

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/common/os/vmem.c
          +++ new/usr/src/uts/common/os/vmem.c
↓ open down ↓ 1445 lines elided ↑ open up ↑
1446 1446  vmem_create_common(const char *name, void *base, size_t size, size_t quantum,
1447 1447          void *(*afunc)(vmem_t *, size_t, int),
1448 1448          void (*ffunc)(vmem_t *, void *, size_t),
1449 1449          vmem_t *source, size_t qcache_max, int vmflag)
1450 1450  {
1451 1451          int i;
1452 1452          size_t nqcache;
1453 1453          vmem_t *vmp, *cur, **vmpp;
1454 1454          vmem_seg_t *vsp;
1455 1455          vmem_freelist_t *vfp;
1456      -        uint32_t id = atomic_add_32_nv(&vmem_id, 1);
     1456 +        uint32_t id = atomic_inc_32_nv(&vmem_id);
1457 1457  
1458 1458          if (vmem_vmem_arena != NULL) {
1459 1459                  vmp = vmem_alloc(vmem_vmem_arena, sizeof (vmem_t),
1460 1460                      vmflag & VM_KMFLAGS);
1461 1461          } else {
1462 1462                  ASSERT(id <= VMEM_INITIAL);
1463 1463                  vmp = &vmem0[id - 1];
1464 1464          }
1465 1465  
1466 1466          /* An identifier arena must inherit from another identifier arena */
↓ open down ↓ 81 lines elided ↑ open up ↑
1548 1548  
1549 1549          mutex_enter(&vmem_list_lock);
1550 1550          vmpp = &vmem_list;
1551 1551          while ((cur = *vmpp) != NULL)
1552 1552                  vmpp = &cur->vm_next;
1553 1553          *vmpp = vmp;
1554 1554          mutex_exit(&vmem_list_lock);
1555 1555  
1556 1556          if (vmp->vm_cflags & VMC_POPULATOR) {
1557 1557                  ASSERT(vmem_populators < VMEM_INITIAL);
1558      -                vmem_populator[atomic_add_32_nv(&vmem_populators, 1) - 1] = vmp;
     1558 +                vmem_populator[atomic_inc_32_nv(&vmem_populators) - 1] = vmp;
1559 1559                  mutex_enter(&vmp->vm_lock);
1560 1560                  (void) vmem_populate(vmp, vmflag | VM_PANIC);
1561 1561                  mutex_exit(&vmp->vm_lock);
1562 1562          }
1563 1563  
1564 1564          if ((base || size) && vmem_add(vmp, base, size, vmflag) == NULL) {
1565 1565                  vmem_destroy(vmp);
1566 1566                  return (NULL);
1567 1567          }
1568 1568  
↓ open down ↓ 221 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX