Print this page
patch as-lock-macro-simplification
@@ -366,11 +366,11 @@
/*
* Since the address space is "write" locked, we
* don't need the segment lock to protect "segdev" data.
*/
- 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));
hat_map(seg->s_as->a_hat, seg->s_base, seg->s_size, HAT_MAP);
sdp = sdp_alloc();
@@ -472,11 +472,11 @@
/*
* Since the address space is "write" locked, we
* don't need the segment lock to protect "segdev" data.
*/
- 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));
newsdp = sdp_alloc();
newseg->s_ops = seg->s_ops;
newseg->s_data = (void *)newsdp;
@@ -644,11 +644,11 @@
/*
* Since the address space is "write" locked, we
* don't need the segment lock to protect "segdev" data.
*/
- 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));
if ((sz = sdp->softlockcnt) > 0) {
/*
* Fail the unmap if pages are SOFTLOCKed through this mapping.
* softlockcnt is protected from change by the as write lock.
@@ -1133,11 +1133,11 @@
/*
* Since the address space is "write" locked, we
* don't need the segment lock to protect "segdev" data.
*/
- 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));
while (dhp != NULL)
dhp = devmap_handle_unmap(dhp);
VN_RELE(sdp->vp);
@@ -1615,11 +1615,11 @@
(void *)dhp_head, (void *)seg, (void *)addr, len, type);
DEBUGF(7, (CE_CONT, "segdev_fault: dhp_head %p seg %p "
"addr %p len %lx type %x\n",
(void *)dhp_head, (void *)seg, (void *)addr, len, type));
- 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));
/* Handle non-devmap case */
if (dhp_head == NULL)
return (segdev_faultpages(hat, seg, addr, len, type, rw, NULL));
@@ -2055,11 +2055,11 @@
static faultcode_t
segdev_faulta(struct seg *seg, caddr_t addr)
{
TRACE_2(TR_FAC_DEVMAP, TR_DEVMAP_FAULTA,
"segdev_faulta: seg=%p addr=%p", (void *)seg, (void *)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 (0);
}
static int
@@ -2073,11 +2073,11 @@
size_t mlen, sz;
TRACE_4(TR_FAC_DEVMAP, TR_DEVMAP_SETPROT,
"segdev_setprot:start seg=%p addr=%p len=%lx prot=%x",
(void *)seg, (void *)addr, len, 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));
if ((sz = sdp->softlockcnt) > 0 && dhp_head != NULL) {
/*
* Fail the setprot if pages are SOFTLOCKed through this
* mapping.
@@ -2196,11 +2196,11 @@
struct vpage *vp, *evp;
TRACE_4(TR_FAC_DEVMAP, TR_DEVMAP_CHECKPROT,
"segdev_checkprot:start seg=%p addr=%p len=%lx prot=%x",
(void *)seg, (void *)addr, len, 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));
/*
* If segment protection can be used, simply check against them
*/
rw_enter(&sdp->lock, RW_READER);
@@ -2233,11 +2233,11 @@
size_t pgno;
TRACE_4(TR_FAC_DEVMAP, TR_DEVMAP_GETPROT,
"segdev_getprot:start seg=%p addr=%p len=%lx protv=%p",
(void *)seg, (void *)addr, len, (void *)protv);
- 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));
pgno = seg_page(seg, addr + len) - seg_page(seg, addr) + 1;
if (pgno != 0) {
rw_enter(&sdp->lock, RW_READER);
if (sdp->pageprot == 0) {
@@ -2264,11 +2264,11 @@
register struct segdev_data *sdp = (struct segdev_data *)seg->s_data;
TRACE_2(TR_FAC_DEVMAP, TR_DEVMAP_GETOFFSET,
"segdev_getoffset:start seg=%p addr=%p", (void *)seg, (void *)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)sdp->offset + (addr - seg->s_base));
}
/*ARGSUSED*/
@@ -2278,11 +2278,11 @@
register struct segdev_data *sdp = (struct segdev_data *)seg->s_data;
TRACE_2(TR_FAC_DEVMAP, TR_DEVMAP_GETTYPE,
"segdev_gettype:start seg=%p addr=%p", (void *)seg, (void *)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 (sdp->type);
}
@@ -2293,11 +2293,11 @@
register struct segdev_data *sdp = (struct segdev_data *)seg->s_data;
TRACE_2(TR_FAC_DEVMAP, TR_DEVMAP_GETVP,
"segdev_getvp:start seg=%p addr=%p", (void *)seg, (void *)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));
/*
* Note that this vp is the common_vp of the device, where the
* pages are hung ..
*/
@@ -2323,11 +2323,11 @@
static int
segdev_sync(struct seg *seg, caddr_t addr, size_t len, int attr, uint_t flags)
{
TRACE_0(TR_FAC_DEVMAP, TR_DEVMAP_SYNC, "segdev_sync:start");
- 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 (0);
}
/*
@@ -2339,11 +2339,11 @@
{
size_t v = 0;
TRACE_0(TR_FAC_DEVMAP, TR_DEVMAP_INCORE, "segdev_incore:start");
- 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 (len = (len + PAGEOFFSET) & PAGEMASK; len; len -= PAGESIZE,
v += PAGESIZE)
*vec++ = 1;
return (v);
@@ -2358,11 +2358,11 @@
segdev_lockop(struct seg *seg, caddr_t addr,
size_t len, int attr, int op, ulong_t *lockmap, size_t pos)
{
TRACE_0(TR_FAC_DEVMAP, TR_DEVMAP_LOCKOP, "segdev_lockop:start");
- 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 (0);
}
/*
@@ -2373,11 +2373,11 @@
static int
segdev_advise(struct seg *seg, caddr_t addr, size_t len, uint_t behav)
{
TRACE_0(TR_FAC_DEVMAP, TR_DEVMAP_ADVISE, "segdev_advise:start");
- 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 (0);
}
/*
@@ -3078,11 +3078,11 @@
/*
* Hat layer only supports devload to process' context for which
* the as lock is held. Verify here and return error if drivers
* inadvertently call devmap_load on a wrong devmap handle.
*/
- if ((asp != &kas) && !AS_LOCK_HELD(asp, &asp->a_lock))
+ if ((asp != &kas) && !AS_LOCK_HELD(asp))
return (FC_MAKE_ERR(EINVAL));
soff = (ssize_t)(offset - dhp->dh_uoff);
soff = round_down_p2(soff, PAGESIZE);
if (soff < 0 || soff >= dhp->dh_len)