Print this page
patch as-lock-macro-simplification

@@ -186,11 +186,11 @@
         struct seg *s1;
         struct seg *s2;
         size_t size;
         struct as *as = seg->s_as;
 
-        ASSERT(as && AS_WRITE_HELD(as, &as->a_lock));
+        ASSERT(as && AS_WRITE_HELD(as));
 
         /*
          * Need a page per virtual color or just 1 if no vac.
          */
         mutex_enter(&segnf_lock);

@@ -304,11 +304,11 @@
  * Split a segment at addr for length len.
  */
 static int
 segnf_unmap(struct seg *seg, caddr_t addr, size_t len)
 {
-        ASSERT(seg->s_as && AS_WRITE_HELD(seg->s_as, &seg->s_as->a_lock));
+        ASSERT(seg->s_as && AS_WRITE_HELD(seg->s_as));
 
         /*
          * Check for bad sizes.
          */
         if (addr < seg->s_base || addr + len > seg->s_base + seg->s_size ||

@@ -373,11 +373,11 @@
  * Free a segment.
  */
 static void
 segnf_free(struct seg *seg)
 {
-        ASSERT(seg->s_as && AS_WRITE_HELD(seg->s_as, &seg->s_as->a_lock));
+        ASSERT(seg->s_as && AS_WRITE_HELD(seg->s_as));
 }
 
 /*
  * No faults allowed on segnf.
  */

@@ -389,20 +389,20 @@
 
 /* ARGSUSED */
 static int
 segnf_setprot(struct seg *seg, caddr_t addr, size_t len, uint_t prot)
 {
-        ASSERT(seg->s_as && AS_LOCK_HELD(seg->s_as, &seg->s_as->a_lock));
+        ASSERT(seg->s_as && AS_LOCK_HELD(seg->s_as));
         return (EACCES);
 }
 
 /* ARGSUSED */
 static int
 segnf_checkprot(struct seg *seg, caddr_t addr, size_t len, uint_t prot)
 {
         uint_t sprot;
-        ASSERT(seg->s_as && AS_LOCK_HELD(seg->s_as, &seg->s_as->a_lock));
+        ASSERT(seg->s_as && AS_LOCK_HELD(seg->s_as));
 
         sprot = seg->s_as == &kas ?  PROT_READ : PROT_READ|PROT_USER;
         return ((prot & sprot) == prot ? 0 : EACCES);
 }
 

@@ -422,40 +422,40 @@
 static int
 segnf_getprot(struct seg *seg, caddr_t addr, size_t len, uint_t *protv)
 {
         size_t pgno = seg_page(seg, addr + len) - seg_page(seg, addr) + 1;
         size_t p;
-        ASSERT(seg->s_as && AS_LOCK_HELD(seg->s_as, &seg->s_as->a_lock));
+        ASSERT(seg->s_as && AS_LOCK_HELD(seg->s_as));
 
         for (p = 0; p < pgno; ++p)
                 protv[p] = PROT_READ;
         return (0);
 }
 
 /* ARGSUSED */
 static u_offset_t
 segnf_getoffset(struct seg *seg, caddr_t addr)
 {
-        ASSERT(seg->s_as && AS_LOCK_HELD(seg->s_as, &seg->s_as->a_lock));
+        ASSERT(seg->s_as && AS_LOCK_HELD(seg->s_as));
 
         return ((u_offset_t)0);
 }
 
 /* ARGSUSED */
 static int
 segnf_gettype(struct seg *seg, caddr_t addr)
 {
-        ASSERT(seg->s_as && AS_LOCK_HELD(seg->s_as, &seg->s_as->a_lock));
+        ASSERT(seg->s_as && AS_LOCK_HELD(seg->s_as));
 
         return (MAP_SHARED);
 }
 
 /* ARGSUSED */
 static int
 segnf_getvp(struct seg *seg, caddr_t addr, struct vnode **vpp)
 {
-        ASSERT(seg->s_as && AS_LOCK_HELD(seg->s_as, &seg->s_as->a_lock));
+        ASSERT(seg->s_as && AS_LOCK_HELD(seg->s_as));
 
         *vpp = &nfvp;
         return (0);
 }