Print this page
patch as-lock-macro-simplification

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/common/os/move.c
          +++ new/usr/src/uts/common/os/move.c
↓ open down ↓ 654 lines elided ↑ open up ↑
 655  655  
 656  656                          if (off)
 657  657                                  pcnt++;
 658  658                          if ((pfnp = kmem_alloc(pcnt * sizeof (pfnp),
 659  659                              KM_NOSLEEP)) == NULL) {
 660  660                                  error = ENOMEM;
 661  661                                  goto cleanup;
 662  662                          }
 663  663                          locked->uioa_ppp = (void **)pfnp;
 664  664                          locked->uioa_pfncnt = pcnt;
 665      -                        AS_LOCK_ENTER(as, &as->a_lock, RW_READER);
      665 +                        AS_LOCK_ENTER(as, RW_READER);
 666  666                          while (pcnt-- > 0) {
 667  667                                  *pfnp++ = hat_getpfnum(as->a_hat, addr);
 668  668                                  addr += PAGESIZE;
 669  669                          }
 670      -                        AS_LOCK_EXIT(as, &as->a_lock);
      670 +                        AS_LOCK_EXIT(as);
 671  671                  } else {
 672  672                          /* Have a page_t list, save it */
 673  673                          locked->uioa_ppp = (void **)pages;
 674  674                          locked->uioa_pfncnt = 0;
 675  675                  }
 676  676                  /* Save for as_pageunlock() in uioafini() */
 677  677                  locked->uioa_base = iov->iov_base;
 678  678                  locked->uioa_len = iov->iov_len;
 679  679                  locked++;
 680  680  
↓ open down ↓ 115 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX