Print this page
patch as-lock-macro-simplification

*** 188,198 **** } } else { /* get the corresponding memory info for each virtual address */ as = curproc->p_as; ! AS_LOCK_ENTER(as, &as->a_lock, RW_READER); hat = as->a_hat; for (i = out_idx = 0; i < addr_count; i++, out_idx += info_count) { addr = in_array[i]; vaddr = (uintptr_t)(addr & ~PAGEOFFSET); --- 188,198 ---- } } else { /* get the corresponding memory info for each virtual address */ as = curproc->p_as; ! AS_LOCK_ENTER(as, RW_READER); hat = as->a_hat; for (i = out_idx = 0; i < addr_count; i++, out_idx += info_count) { addr = in_array[i]; vaddr = (uintptr_t)(addr & ~PAGEOFFSET);
*** 284,294 **** break; } } } } ! AS_LOCK_EXIT(as, &as->a_lock); } /* copy out the results and validity bits and free the buffers */ if ((copyout(out_array, minfo.mi_outdata, out_size) != 0) || (copyout(val_array, minfo.mi_validity, val_size) != 0)) --- 284,294 ---- break; } } } } ! AS_LOCK_EXIT(as); } /* copy out the results and validity bits and free the buffers */ if ((copyout(out_array, minfo.mi_outdata, out_size) != 0) || (copyout(val_array, minfo.mi_validity, val_size) != 0))