diff options
author | attilio <attilio@FreeBSD.org> | 2013-02-27 18:12:13 +0000 |
---|---|---|
committer | attilio <attilio@FreeBSD.org> | 2013-02-27 18:12:13 +0000 |
commit | 8d28f9479090da520ef392412da9129ec48f85ea (patch) | |
tree | 960a120b0bfa6e8ab680fe148604e67ac3880e7d /sys/amd64 | |
parent | 5661e1fe461be2da03359fdaaf886b1a1155062b (diff) | |
download | FreeBSD-src-8d28f9479090da520ef392412da9129ec48f85ea.zip FreeBSD-src-8d28f9479090da520ef392412da9129ec48f85ea.tar.gz |
Merge from vmobj-rwlock:
VM_OBJECT_LOCKED() macro is only used to implement a custom version
of lock assertions right now (which likely spread out thanks to
copy and paste).
Remove it and implement actual assertions.
Sponsored by: EMC / Isilon storage division
Reviewed by: alc
Tested by: pho
Diffstat (limited to 'sys/amd64')
-rw-r--r-- | sys/amd64/amd64/pmap.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/sys/amd64/amd64/pmap.c b/sys/amd64/amd64/pmap.c index c6c62ae..f2d8967 100644 --- a/sys/amd64/amd64/pmap.c +++ b/sys/amd64/amd64/pmap.c @@ -3492,9 +3492,8 @@ pmap_enter(pmap_t pmap, vm_offset_t va, vm_prot_t access, vm_page_t m, KASSERT((m->oflags & VPO_UNMANAGED) != 0 || va < kmi.clean_sva || va >= kmi.clean_eva, ("pmap_enter: managed mapping within the clean submap")); - KASSERT((m->oflags & (VPO_UNMANAGED | VPO_BUSY)) != 0 || - VM_OBJECT_LOCKED(m->object), - ("pmap_enter: page %p is not busy", m)); + if ((m->oflags & (VPO_UNMANAGED | VPO_BUSY)) == 0) + VM_OBJECT_LOCK_ASSERT(m->object, MA_OWNED); pa = VM_PAGE_TO_PHYS(m); newpte = (pt_entry_t)(pa | PG_A | PG_V); if ((access & VM_PROT_WRITE) != 0) |