From owner-svn-src-user@FreeBSD.ORG Wed Feb 20 10:38:46 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 06E3FE7D; Wed, 20 Feb 2013 10:38:46 +0000 (UTC) (envelope-from attilio@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id EAE85370; Wed, 20 Feb 2013 10:38:45 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r1KAcjwt034137; Wed, 20 Feb 2013 10:38:45 GMT (envelope-from attilio@svn.freebsd.org) Received: (from attilio@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r1KAcZQE034067; Wed, 20 Feb 2013 10:38:35 GMT (envelope-from attilio@svn.freebsd.org) Message-Id: <201302201038.r1KAcZQE034067@svn.freebsd.org> From: Attilio Rao Date: Wed, 20 Feb 2013 10:38:35 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r247021 - in user/attilio/vmobj-rwlock/sys: amd64/amd64 arm/arm dev/agp dev/drm dev/drm2 dev/drm2/i915 dev/hwpmc dev/md dev/netmap dev/sound/pcm fs/fuse fs/nfsclient fs/procfs fs/tmpfs ... X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 20 Feb 2013 10:38:46 -0000 Author: attilio Date: Wed Feb 20 10:38:34 2013 New Revision: 247021 URL: http://svnweb.freebsd.org/changeset/base/247021 Log: Switch vm_object lock to be a rwlock. * VM_OBJECT_LOCK and VM_OBJECT_UNLOCK are mapped to write operations * VM_OBJECT_SLEEP() is introduced as a general purpose primitve to get a sleep operation using a VM_OBJECT_LOCK() as protection * The approach must bear with vm_pager.h namespace pollution so many files require including directly rwlock.h Modified: user/attilio/vmobj-rwlock/sys/amd64/amd64/machdep.c user/attilio/vmobj-rwlock/sys/amd64/amd64/pmap.c user/attilio/vmobj-rwlock/sys/arm/arm/pmap-v6.c user/attilio/vmobj-rwlock/sys/arm/arm/pmap.c user/attilio/vmobj-rwlock/sys/dev/agp/agp.c user/attilio/vmobj-rwlock/sys/dev/agp/agp_i810.c user/attilio/vmobj-rwlock/sys/dev/drm/drmP.h user/attilio/vmobj-rwlock/sys/dev/drm2/drmP.h user/attilio/vmobj-rwlock/sys/dev/drm2/i915/i915_gem.c user/attilio/vmobj-rwlock/sys/dev/hwpmc/hwpmc_mod.c user/attilio/vmobj-rwlock/sys/dev/md/md.c user/attilio/vmobj-rwlock/sys/dev/netmap/netmap.c user/attilio/vmobj-rwlock/sys/dev/sound/pcm/dsp.c user/attilio/vmobj-rwlock/sys/fs/fuse/fuse_io.c user/attilio/vmobj-rwlock/sys/fs/fuse/fuse_vnops.c user/attilio/vmobj-rwlock/sys/fs/nfsclient/nfs_clbio.c user/attilio/vmobj-rwlock/sys/fs/procfs/procfs_map.c user/attilio/vmobj-rwlock/sys/fs/tmpfs/tmpfs_subr.c user/attilio/vmobj-rwlock/sys/fs/tmpfs/tmpfs_vnops.c user/attilio/vmobj-rwlock/sys/i386/i386/machdep.c user/attilio/vmobj-rwlock/sys/i386/i386/pmap.c user/attilio/vmobj-rwlock/sys/i386/xen/pmap.c user/attilio/vmobj-rwlock/sys/ia64/ia64/pmap.c user/attilio/vmobj-rwlock/sys/kern/imgact_elf.c user/attilio/vmobj-rwlock/sys/kern/kern_exec.c user/attilio/vmobj-rwlock/sys/kern/kern_proc.c user/attilio/vmobj-rwlock/sys/kern/kern_sharedpage.c user/attilio/vmobj-rwlock/sys/kern/kern_shutdown.c user/attilio/vmobj-rwlock/sys/kern/subr_uio.c user/attilio/vmobj-rwlock/sys/kern/sys_process.c user/attilio/vmobj-rwlock/sys/kern/sysv_shm.c user/attilio/vmobj-rwlock/sys/kern/uipc_shm.c user/attilio/vmobj-rwlock/sys/kern/uipc_syscalls.c user/attilio/vmobj-rwlock/sys/kern/vfs_aio.c user/attilio/vmobj-rwlock/sys/kern/vfs_bio.c user/attilio/vmobj-rwlock/sys/kern/vfs_cluster.c user/attilio/vmobj-rwlock/sys/kern/vfs_default.c user/attilio/vmobj-rwlock/sys/kern/vfs_subr.c user/attilio/vmobj-rwlock/sys/kern/vfs_syscalls.c user/attilio/vmobj-rwlock/sys/kern/vfs_vnops.c user/attilio/vmobj-rwlock/sys/mips/mips/pmap.c user/attilio/vmobj-rwlock/sys/nfsclient/nfs_bio.c user/attilio/vmobj-rwlock/sys/nfsserver/nfs_serv.c user/attilio/vmobj-rwlock/sys/ofed/include/linux/linux_compat.c user/attilio/vmobj-rwlock/sys/powerpc/aim/mmu_oea.c user/attilio/vmobj-rwlock/sys/powerpc/aim/mmu_oea64.c user/attilio/vmobj-rwlock/sys/powerpc/booke/pmap.c user/attilio/vmobj-rwlock/sys/security/mac/mac_process.c user/attilio/vmobj-rwlock/sys/sparc64/sparc64/pmap.c user/attilio/vmobj-rwlock/sys/ufs/ffs/ffs_rawread.c user/attilio/vmobj-rwlock/sys/ufs/ffs/ffs_vnops.c user/attilio/vmobj-rwlock/sys/vm/default_pager.c user/attilio/vmobj-rwlock/sys/vm/device_pager.c user/attilio/vmobj-rwlock/sys/vm/phys_pager.c user/attilio/vmobj-rwlock/sys/vm/sg_pager.c user/attilio/vmobj-rwlock/sys/vm/swap_pager.c user/attilio/vmobj-rwlock/sys/vm/uma_core.c user/attilio/vmobj-rwlock/sys/vm/vm_fault.c user/attilio/vmobj-rwlock/sys/vm/vm_glue.c user/attilio/vmobj-rwlock/sys/vm/vm_init.c user/attilio/vmobj-rwlock/sys/vm/vm_kern.c user/attilio/vmobj-rwlock/sys/vm/vm_map.c user/attilio/vmobj-rwlock/sys/vm/vm_meter.c user/attilio/vmobj-rwlock/sys/vm/vm_mmap.c user/attilio/vmobj-rwlock/sys/vm/vm_object.c user/attilio/vmobj-rwlock/sys/vm/vm_object.h user/attilio/vmobj-rwlock/sys/vm/vm_page.c user/attilio/vmobj-rwlock/sys/vm/vm_pageout.c user/attilio/vmobj-rwlock/sys/vm/vm_pager.c user/attilio/vmobj-rwlock/sys/vm/vm_pager.h user/attilio/vmobj-rwlock/sys/vm/vm_reserv.c user/attilio/vmobj-rwlock/sys/vm/vnode_pager.c Modified: user/attilio/vmobj-rwlock/sys/amd64/amd64/machdep.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/amd64/amd64/machdep.c Wed Feb 20 06:48:39 2013 (r247020) +++ user/attilio/vmobj-rwlock/sys/amd64/amd64/machdep.c Wed Feb 20 10:38:34 2013 (r247021) @@ -80,6 +80,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #ifdef SMP Modified: user/attilio/vmobj-rwlock/sys/amd64/amd64/pmap.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/amd64/amd64/pmap.c Wed Feb 20 06:48:39 2013 (r247020) +++ user/attilio/vmobj-rwlock/sys/amd64/amd64/pmap.c Wed Feb 20 10:38:34 2013 (r247021) @@ -3761,7 +3761,7 @@ pmap_enter_object(pmap_t pmap, vm_offset vm_page_t m, mpte; vm_pindex_t diff, psize; - VM_OBJECT_LOCK_ASSERT(m_start->object, MA_OWNED); + VM_OBJECT_LOCK_ASSERT(m_start->object, RA_WLOCKED); psize = atop(end - start); mpte = NULL; m = m_start; @@ -3943,7 +3943,7 @@ pmap_object_init_pt(pmap_t pmap, vm_offs vm_page_t p, pdpg; int pat_mode; - VM_OBJECT_LOCK_ASSERT(object, MA_OWNED); + VM_OBJECT_LOCK_ASSERT(object, RA_WLOCKED); KASSERT(object->type == OBJT_DEVICE || object->type == OBJT_SG, ("pmap_object_init_pt: non-device object")); if ((addr & (NBPDR - 1)) == 0 && (size & (NBPDR - 1)) == 0) { @@ -4557,7 +4557,7 @@ pmap_is_modified(vm_page_t m) * concurrently set while the object is locked. Thus, if PGA_WRITEABLE * is clear, no PTEs can have PG_M set. */ - VM_OBJECT_LOCK_ASSERT(m->object, MA_OWNED); + VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED); if ((m->oflags & VPO_BUSY) == 0 && (m->aflags & PGA_WRITEABLE) == 0) return (FALSE); @@ -4688,7 +4688,7 @@ pmap_remove_write(vm_page_t m) * another thread while the object is locked. Thus, if PGA_WRITEABLE * is clear, no page table entries need updating. */ - VM_OBJECT_LOCK_ASSERT(m->object, MA_OWNED); + VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED); if ((m->oflags & VPO_BUSY) == 0 && (m->aflags & PGA_WRITEABLE) == 0) return; @@ -4832,7 +4832,7 @@ pmap_clear_modify(vm_page_t m) KASSERT((m->oflags & VPO_UNMANAGED) == 0, ("pmap_clear_modify: page %p is not managed", m)); - VM_OBJECT_LOCK_ASSERT(m->object, MA_OWNED); + VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED); KASSERT((m->oflags & VPO_BUSY) == 0, ("pmap_clear_modify: page %p is busy", m)); Modified: user/attilio/vmobj-rwlock/sys/arm/arm/pmap-v6.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/arm/arm/pmap-v6.c Wed Feb 20 06:48:39 2013 (r247020) +++ user/attilio/vmobj-rwlock/sys/arm/arm/pmap-v6.c Wed Feb 20 10:38:34 2013 (r247021) @@ -2212,7 +2212,7 @@ pmap_object_init_pt(pmap_t pmap, vm_offs vm_pindex_t pindex, vm_size_t size) { - VM_OBJECT_LOCK_ASSERT(object, MA_OWNED); + VM_OBJECT_LOCK_ASSERT(object, RA_WLOCKED); KASSERT(object->type == OBJT_DEVICE || object->type == OBJT_SG, ("pmap_object_init_pt: non-device object")); } @@ -3428,7 +3428,7 @@ pmap_clear_modify(vm_page_t m) KASSERT((m->oflags & VPO_UNMANAGED) == 0, ("pmap_clear_modify: page %p is not managed", m)); - VM_OBJECT_LOCK_ASSERT(m->object, MA_OWNED); + VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED); KASSERT((m->oflags & VPO_BUSY) == 0, ("pmap_clear_modify: page %p is busy", m)); @@ -3475,7 +3475,7 @@ pmap_remove_write(vm_page_t m) * another thread while the object is locked. Thus, if PGA_WRITEABLE * is clear, no page table entries need updating. */ - VM_OBJECT_LOCK_ASSERT(m->object, MA_OWNED); + VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED); if ((m->oflags & VPO_BUSY) != 0 || (m->aflags & PGA_WRITEABLE) != 0) pmap_clearbit(m, PVF_WRITE); Modified: user/attilio/vmobj-rwlock/sys/arm/arm/pmap.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/arm/arm/pmap.c Wed Feb 20 06:48:39 2013 (r247020) +++ user/attilio/vmobj-rwlock/sys/arm/arm/pmap.c Wed Feb 20 10:38:34 2013 (r247021) @@ -3006,7 +3006,7 @@ pmap_object_init_pt(pmap_t pmap, vm_offs vm_pindex_t pindex, vm_size_t size) { - VM_OBJECT_LOCK_ASSERT(object, MA_OWNED); + VM_OBJECT_LOCK_ASSERT(object, RA_WLOCKED); KASSERT(object->type == OBJT_DEVICE || object->type == OBJT_SG, ("pmap_object_init_pt: non-device object")); } @@ -4461,7 +4461,7 @@ pmap_clear_modify(vm_page_t m) KASSERT((m->oflags & VPO_UNMANAGED) == 0, ("pmap_clear_modify: page %p is not managed", m)); - VM_OBJECT_LOCK_ASSERT(m->object, MA_OWNED); + VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED); KASSERT((m->oflags & VPO_BUSY) == 0, ("pmap_clear_modify: page %p is busy", m)); @@ -4523,7 +4523,7 @@ pmap_remove_write(vm_page_t m) * another thread while the object is locked. Thus, if PGA_WRITEABLE * is clear, no page table entries need updating. */ - VM_OBJECT_LOCK_ASSERT(m->object, MA_OWNED); + VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED); if ((m->oflags & VPO_BUSY) != 0 || (m->aflags & PGA_WRITEABLE) != 0) pmap_clearbit(m, PVF_WRITE); Modified: user/attilio/vmobj-rwlock/sys/dev/agp/agp.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/dev/agp/agp.c Wed Feb 20 06:48:39 2013 (r247020) +++ user/attilio/vmobj-rwlock/sys/dev/agp/agp.c Wed Feb 20 10:38:34 2013 (r247021) @@ -41,6 +41,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include @@ -622,7 +623,7 @@ agp_generic_bind_memory(device_t dev, st return 0; bad: mtx_unlock(&sc->as_lock); - VM_OBJECT_LOCK_ASSERT(mem->am_obj, MA_OWNED); + VM_OBJECT_LOCK_ASSERT(mem->am_obj, RA_WLOCKED); for (k = 0; k < mem->am_size; k += PAGE_SIZE) { m = vm_page_lookup(mem->am_obj, OFF_TO_IDX(k)); if (k >= i) Modified: user/attilio/vmobj-rwlock/sys/dev/agp/agp_i810.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/dev/agp/agp_i810.c Wed Feb 20 06:48:39 2013 (r247020) +++ user/attilio/vmobj-rwlock/sys/dev/agp/agp_i810.c Wed Feb 20 10:38:34 2013 (r247021) @@ -56,6 +56,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include Modified: user/attilio/vmobj-rwlock/sys/dev/drm/drmP.h ============================================================================== --- user/attilio/vmobj-rwlock/sys/dev/drm/drmP.h Wed Feb 20 06:48:39 2013 (r247020) +++ user/attilio/vmobj-rwlock/sys/dev/drm/drmP.h Wed Feb 20 10:38:34 2013 (r247021) @@ -59,6 +59,7 @@ struct drm_file; #include #include #include +#include #include #include #include Modified: user/attilio/vmobj-rwlock/sys/dev/drm2/drmP.h ============================================================================== --- user/attilio/vmobj-rwlock/sys/dev/drm2/drmP.h Wed Feb 20 06:48:39 2013 (r247020) +++ user/attilio/vmobj-rwlock/sys/dev/drm2/drmP.h Wed Feb 20 10:38:34 2013 (r247021) @@ -58,6 +58,7 @@ struct drm_file; #include #include #include +#include #include #include #include Modified: user/attilio/vmobj-rwlock/sys/dev/drm2/i915/i915_gem.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/dev/drm2/i915/i915_gem.c Wed Feb 20 06:48:39 2013 (r247020) +++ user/attilio/vmobj-rwlock/sys/dev/drm2/i915/i915_gem.c Wed Feb 20 10:38:34 2013 (r247021) @@ -2488,7 +2488,7 @@ i915_gem_wire_page(vm_object_t object, v vm_page_t m; int rv; - VM_OBJECT_LOCK_ASSERT(object, MA_OWNED); + VM_OBJECT_LOCK_ASSERT(object, RA_WLOCKED); m = vm_page_grab(object, pindex, VM_ALLOC_NORMAL | VM_ALLOC_RETRY); if (m->valid != VM_PAGE_BITS_ALL) { if (vm_pager_has_page(object, pindex, NULL, NULL)) { Modified: user/attilio/vmobj-rwlock/sys/dev/hwpmc/hwpmc_mod.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/dev/hwpmc/hwpmc_mod.c Wed Feb 20 06:48:39 2013 (r247020) +++ user/attilio/vmobj-rwlock/sys/dev/hwpmc/hwpmc_mod.c Wed Feb 20 10:38:34 2013 (r247021) @@ -50,6 +50,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include Modified: user/attilio/vmobj-rwlock/sys/dev/md/md.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/dev/md/md.c Wed Feb 20 06:48:39 2013 (r247020) +++ user/attilio/vmobj-rwlock/sys/dev/md/md.c Wed Feb 20 10:38:34 2013 (r247021) @@ -75,6 +75,7 @@ #include #include #include +#include #include #include #include Modified: user/attilio/vmobj-rwlock/sys/dev/netmap/netmap.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/dev/netmap/netmap.c Wed Feb 20 06:48:39 2013 (r247020) +++ user/attilio/vmobj-rwlock/sys/dev/netmap/netmap.c Wed Feb 20 10:38:34 2013 (r247021) @@ -81,6 +81,7 @@ __FBSDID("$FreeBSD$"); #include /* PROT_EXEC */ #include #include +#include #include /* vtophys */ #include /* vtophys */ #include /* sockaddrs */ Modified: user/attilio/vmobj-rwlock/sys/dev/sound/pcm/dsp.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/dev/sound/pcm/dsp.c Wed Feb 20 06:48:39 2013 (r247020) +++ user/attilio/vmobj-rwlock/sys/dev/sound/pcm/dsp.c Wed Feb 20 10:38:34 2013 (r247021) @@ -32,6 +32,8 @@ #include #include +#include +#include #include #include Modified: user/attilio/vmobj-rwlock/sys/fs/fuse/fuse_io.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/fs/fuse/fuse_io.c Wed Feb 20 06:48:39 2013 (r247020) +++ user/attilio/vmobj-rwlock/sys/fs/fuse/fuse_io.c Wed Feb 20 10:38:34 2013 (r247021) @@ -69,6 +69,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include @@ -87,8 +88,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include -#include #include #include "fuse.h" Modified: user/attilio/vmobj-rwlock/sys/fs/fuse/fuse_vnops.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/fs/fuse/fuse_vnops.c Wed Feb 20 06:48:39 2013 (r247020) +++ user/attilio/vmobj-rwlock/sys/fs/fuse/fuse_vnops.c Wed Feb 20 10:38:34 2013 (r247021) @@ -67,7 +67,7 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include +#include #include #include #include Modified: user/attilio/vmobj-rwlock/sys/fs/nfsclient/nfs_clbio.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/fs/nfsclient/nfs_clbio.c Wed Feb 20 06:48:39 2013 (r247020) +++ user/attilio/vmobj-rwlock/sys/fs/nfsclient/nfs_clbio.c Wed Feb 20 10:38:34 2013 (r247021) @@ -43,6 +43,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include Modified: user/attilio/vmobj-rwlock/sys/fs/procfs/procfs_map.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/fs/procfs/procfs_map.c Wed Feb 20 06:48:39 2013 (r247020) +++ user/attilio/vmobj-rwlock/sys/fs/procfs/procfs_map.c Wed Feb 20 10:38:34 2013 (r247021) @@ -43,9 +43,9 @@ #include #include #include -#include #include #include +#include #include #ifdef COMPAT_FREEBSD32 #include Modified: user/attilio/vmobj-rwlock/sys/fs/tmpfs/tmpfs_subr.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/fs/tmpfs/tmpfs_subr.c Wed Feb 20 06:48:39 2013 (r247020) +++ user/attilio/vmobj-rwlock/sys/fs/tmpfs/tmpfs_subr.c Wed Feb 20 10:38:34 2013 (r247021) @@ -38,9 +38,11 @@ __FBSDID("$FreeBSD$"); #include #include +#include #include #include #include +#include #include #include #include Modified: user/attilio/vmobj-rwlock/sys/fs/tmpfs/tmpfs_vnops.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/fs/tmpfs/tmpfs_vnops.c Wed Feb 20 06:48:39 2013 (r247020) +++ user/attilio/vmobj-rwlock/sys/fs/tmpfs/tmpfs_vnops.c Wed Feb 20 10:38:34 2013 (r247021) @@ -39,9 +39,11 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include +#include #include #include #include Modified: user/attilio/vmobj-rwlock/sys/i386/i386/machdep.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/i386/i386/machdep.c Wed Feb 20 06:48:39 2013 (r247020) +++ user/attilio/vmobj-rwlock/sys/i386/i386/machdep.c Wed Feb 20 10:38:34 2013 (r247021) @@ -81,6 +81,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #ifdef SMP Modified: user/attilio/vmobj-rwlock/sys/i386/i386/pmap.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/i386/i386/pmap.c Wed Feb 20 06:48:39 2013 (r247020) +++ user/attilio/vmobj-rwlock/sys/i386/i386/pmap.c Wed Feb 20 10:38:34 2013 (r247021) @@ -3712,7 +3712,7 @@ pmap_enter_object(pmap_t pmap, vm_offset vm_page_t m, mpte; vm_pindex_t diff, psize; - VM_OBJECT_LOCK_ASSERT(m_start->object, MA_OWNED); + VM_OBJECT_LOCK_ASSERT(m_start->object, RA_WLOCKED); psize = atop(end - start); mpte = NULL; m = m_start; @@ -3890,7 +3890,7 @@ pmap_object_init_pt(pmap_t pmap, vm_offs vm_page_t p; int pat_mode; - VM_OBJECT_LOCK_ASSERT(object, MA_OWNED); + VM_OBJECT_LOCK_ASSERT(object, RA_WLOCKED); KASSERT(object->type == OBJT_DEVICE || object->type == OBJT_SG, ("pmap_object_init_pt: non-device object")); if (pseflag && @@ -4509,7 +4509,7 @@ pmap_is_modified(vm_page_t m) * concurrently set while the object is locked. Thus, if PGA_WRITEABLE * is clear, no PTEs can have PG_M set. */ - VM_OBJECT_LOCK_ASSERT(m->object, MA_OWNED); + VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED); if ((m->oflags & VPO_BUSY) == 0 && (m->aflags & PGA_WRITEABLE) == 0) return (FALSE); @@ -4644,7 +4644,7 @@ pmap_remove_write(vm_page_t m) * another thread while the object is locked. Thus, if PGA_WRITEABLE * is clear, no page table entries need updating. */ - VM_OBJECT_LOCK_ASSERT(m->object, MA_OWNED); + VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED); if ((m->oflags & VPO_BUSY) == 0 && (m->aflags & PGA_WRITEABLE) == 0) return; @@ -4796,7 +4796,7 @@ pmap_clear_modify(vm_page_t m) KASSERT((m->oflags & VPO_UNMANAGED) == 0, ("pmap_clear_modify: page %p is not managed", m)); - VM_OBJECT_LOCK_ASSERT(m->object, MA_OWNED); + VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED); KASSERT((m->oflags & VPO_BUSY) == 0, ("pmap_clear_modify: page %p is busy", m)); Modified: user/attilio/vmobj-rwlock/sys/i386/xen/pmap.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/i386/xen/pmap.c Wed Feb 20 06:48:39 2013 (r247020) +++ user/attilio/vmobj-rwlock/sys/i386/xen/pmap.c Wed Feb 20 10:38:34 2013 (r247021) @@ -2871,7 +2871,7 @@ pmap_enter_object(pmap_t pmap, vm_offset multicall_entry_t *mclp = mcl; int error, count = 0; - VM_OBJECT_LOCK_ASSERT(m_start->object, MA_OWNED); + VM_OBJECT_LOCK_ASSERT(m_start->object, RA_WLOCKED); psize = atop(end - start); mpte = NULL; m = m_start; @@ -3111,7 +3111,7 @@ pmap_object_init_pt(pmap_t pmap, vm_offs vm_page_t p; int pat_mode; - VM_OBJECT_LOCK_ASSERT(object, MA_OWNED); + VM_OBJECT_LOCK_ASSERT(object, RA_WLOCKED); KASSERT(object->type == OBJT_DEVICE || object->type == OBJT_SG, ("pmap_object_init_pt: non-device object")); if (pseflag && @@ -3657,7 +3657,7 @@ pmap_is_modified(vm_page_t m) * concurrently set while the object is locked. Thus, if PGA_WRITEABLE * is clear, no PTEs can have PG_M set. */ - VM_OBJECT_LOCK_ASSERT(m->object, MA_OWNED); + VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED); if ((m->oflags & VPO_BUSY) == 0 && (m->aflags & PGA_WRITEABLE) == 0) return (rv); @@ -3788,7 +3788,7 @@ pmap_remove_write(vm_page_t m) * another thread while the object is locked. Thus, if PGA_WRITEABLE * is clear, no page table entries need updating. */ - VM_OBJECT_LOCK_ASSERT(m->object, MA_OWNED); + VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED); if ((m->oflags & VPO_BUSY) == 0 && (m->aflags & PGA_WRITEABLE) == 0) return; @@ -3889,7 +3889,7 @@ pmap_clear_modify(vm_page_t m) KASSERT((m->oflags & VPO_UNMANAGED) == 0, ("pmap_clear_modify: page %p is not managed", m)); - VM_OBJECT_LOCK_ASSERT(m->object, MA_OWNED); + VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED); KASSERT((m->oflags & VPO_BUSY) == 0, ("pmap_clear_modify: page %p is busy", m)); Modified: user/attilio/vmobj-rwlock/sys/ia64/ia64/pmap.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/ia64/ia64/pmap.c Wed Feb 20 06:48:39 2013 (r247020) +++ user/attilio/vmobj-rwlock/sys/ia64/ia64/pmap.c Wed Feb 20 10:38:34 2013 (r247021) @@ -1802,7 +1802,7 @@ pmap_enter_object(pmap_t pmap, vm_offset vm_page_t m; vm_pindex_t diff, psize; - VM_OBJECT_LOCK_ASSERT(m_start->object, MA_OWNED); + VM_OBJECT_LOCK_ASSERT(m_start->object, RA_WLOCKED); psize = atop(end - start); m = m_start; rw_wlock(&pvh_global_lock); @@ -1893,7 +1893,7 @@ pmap_object_init_pt(pmap_t pmap, vm_offs vm_size_t size) { - VM_OBJECT_LOCK_ASSERT(object, MA_OWNED); + VM_OBJECT_LOCK_ASSERT(object, RA_WLOCKED); KASSERT(object->type == OBJT_DEVICE || object->type == OBJT_SG, ("pmap_object_init_pt: non-device object")); } @@ -2211,7 +2211,7 @@ pmap_is_modified(vm_page_t m) * concurrently set while the object is locked. Thus, if PGA_WRITEABLE * is clear, no PTEs can be dirty. */ - VM_OBJECT_LOCK_ASSERT(m->object, MA_OWNED); + VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED); if ((m->oflags & VPO_BUSY) == 0 && (m->aflags & PGA_WRITEABLE) == 0) return (rv); @@ -2295,7 +2295,7 @@ pmap_clear_modify(vm_page_t m) KASSERT((m->oflags & VPO_UNMANAGED) == 0, ("pmap_clear_modify: page %p is not managed", m)); - VM_OBJECT_LOCK_ASSERT(m->object, MA_OWNED); + VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED); KASSERT((m->oflags & VPO_BUSY) == 0, ("pmap_clear_modify: page %p is busy", m)); @@ -2373,7 +2373,7 @@ pmap_remove_write(vm_page_t m) * another thread while the object is locked. Thus, if PGA_WRITEABLE * is clear, no page table entries need updating. */ - VM_OBJECT_LOCK_ASSERT(m->object, MA_OWNED); + VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED); if ((m->oflags & VPO_BUSY) == 0 && (m->aflags & PGA_WRITEABLE) == 0) return; Modified: user/attilio/vmobj-rwlock/sys/kern/imgact_elf.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/kern/imgact_elf.c Wed Feb 20 06:48:39 2013 (r247020) +++ user/attilio/vmobj-rwlock/sys/kern/imgact_elf.c Wed Feb 20 10:38:34 2013 (r247021) @@ -45,7 +45,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include #include #include #include @@ -53,6 +52,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include Modified: user/attilio/vmobj-rwlock/sys/kern/kern_exec.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/kern/kern_exec.c Wed Feb 20 06:48:39 2013 (r247020) +++ user/attilio/vmobj-rwlock/sys/kern/kern_exec.c Wed Feb 20 10:38:34 2013 (r247021) @@ -57,6 +57,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include Modified: user/attilio/vmobj-rwlock/sys/kern/kern_proc.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/kern/kern_proc.c Wed Feb 20 06:48:39 2013 (r247020) +++ user/attilio/vmobj-rwlock/sys/kern/kern_proc.c Wed Feb 20 10:38:34 2013 (r247021) @@ -55,6 +55,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include Modified: user/attilio/vmobj-rwlock/sys/kern/kern_sharedpage.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/kern/kern_sharedpage.c Wed Feb 20 06:48:39 2013 (r247020) +++ user/attilio/vmobj-rwlock/sys/kern/kern_sharedpage.c Wed Feb 20 10:38:34 2013 (r247021) @@ -34,7 +34,7 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include +#include #include #include #include Modified: user/attilio/vmobj-rwlock/sys/kern/kern_shutdown.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/kern/kern_shutdown.c Wed Feb 20 06:48:39 2013 (r247020) +++ user/attilio/vmobj-rwlock/sys/kern/kern_shutdown.c Wed Feb 20 10:38:34 2013 (r247021) @@ -62,6 +62,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include Modified: user/attilio/vmobj-rwlock/sys/kern/subr_uio.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/kern/subr_uio.c Wed Feb 20 06:48:39 2013 (r247020) +++ user/attilio/vmobj-rwlock/sys/kern/subr_uio.c Wed Feb 20 10:38:34 2013 (r247021) @@ -45,9 +45,9 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include #include #include +#include #include #include #include Modified: user/attilio/vmobj-rwlock/sys/kern/sys_process.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/kern/sys_process.c Wed Feb 20 06:48:39 2013 (r247020) +++ user/attilio/vmobj-rwlock/sys/kern/sys_process.c Wed Feb 20 10:38:34 2013 (r247021) @@ -44,6 +44,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include @@ -59,7 +60,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include #include #ifdef COMPAT_FREEBSD32 Modified: user/attilio/vmobj-rwlock/sys/kern/sysv_shm.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/kern/sysv_shm.c Wed Feb 20 06:48:39 2013 (r247020) +++ user/attilio/vmobj-rwlock/sys/kern/sysv_shm.c Wed Feb 20 10:38:34 2013 (r247021) @@ -79,6 +79,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include Modified: user/attilio/vmobj-rwlock/sys/kern/uipc_shm.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/kern/uipc_shm.c Wed Feb 20 06:48:39 2013 (r247020) +++ user/attilio/vmobj-rwlock/sys/kern/uipc_shm.c Wed Feb 20 10:38:34 2013 (r247021) @@ -61,6 +61,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include Modified: user/attilio/vmobj-rwlock/sys/kern/uipc_syscalls.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/kern/uipc_syscalls.c Wed Feb 20 06:48:39 2013 (r247020) +++ user/attilio/vmobj-rwlock/sys/kern/uipc_syscalls.c Wed Feb 20 10:38:34 2013 (r247021) @@ -60,6 +60,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include Modified: user/attilio/vmobj-rwlock/sys/kern/vfs_aio.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/kern/vfs_aio.c Wed Feb 20 06:48:39 2013 (r247020) +++ user/attilio/vmobj-rwlock/sys/kern/vfs_aio.c Wed Feb 20 10:38:34 2013 (r247021) @@ -46,6 +46,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include Modified: user/attilio/vmobj-rwlock/sys/kern/vfs_bio.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/kern/vfs_bio.c Wed Feb 20 06:48:39 2013 (r247020) +++ user/attilio/vmobj-rwlock/sys/kern/vfs_bio.c Wed Feb 20 10:38:34 2013 (r247021) @@ -58,6 +58,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include @@ -458,7 +459,7 @@ vfs_buf_test_cache(struct buf *bp, vm_page_t m) { - VM_OBJECT_LOCK_ASSERT(m->object, MA_OWNED); + VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED); if (bp->b_flags & B_CACHE) { int base = (foff + off) & PAGE_MASK; if (vm_page_is_valid(m, base, size) == 0) @@ -2533,7 +2534,7 @@ vfs_setdirty_locked_object(struct buf *b int i; object = bp->b_bufobj->bo_object; - VM_OBJECT_LOCK_ASSERT(object, MA_OWNED); + VM_OBJECT_LOCK_ASSERT(object, RA_WLOCKED); /* * We qualify the scan for modified pages on whether the @@ -3566,7 +3567,7 @@ vfs_drain_busy_pages(struct buf *bp) vm_page_t m; int i, last_busied; - VM_OBJECT_LOCK_ASSERT(bp->b_bufobj->bo_object, MA_OWNED); + VM_OBJECT_LOCK_ASSERT(bp->b_bufobj->bo_object, RA_WLOCKED); last_busied = 0; for (i = 0; i < bp->b_npages; i++) { m = bp->b_pages[i]; @@ -3719,7 +3720,7 @@ vfs_bio_clrbuf(struct buf *bp) if (bp->b_pages[0] == bogus_page) goto unlock; mask = (1 << (bp->b_bufsize / DEV_BSIZE)) - 1; - VM_OBJECT_LOCK_ASSERT(bp->b_pages[0]->object, MA_OWNED); + VM_OBJECT_LOCK_ASSERT(bp->b_pages[0]->object, RA_WLOCKED); if ((bp->b_pages[0]->valid & mask) == mask) goto unlock; if ((bp->b_pages[0]->valid & mask) == 0) { @@ -3738,7 +3739,7 @@ vfs_bio_clrbuf(struct buf *bp) continue; j = ((vm_offset_t)sa & PAGE_MASK) / DEV_BSIZE; mask = ((1 << ((ea - sa) / DEV_BSIZE)) - 1) << j; - VM_OBJECT_LOCK_ASSERT(bp->b_pages[i]->object, MA_OWNED); + VM_OBJECT_LOCK_ASSERT(bp->b_pages[i]->object, RA_WLOCKED); if ((bp->b_pages[i]->valid & mask) == mask) continue; if ((bp->b_pages[i]->valid & mask) == 0) Modified: user/attilio/vmobj-rwlock/sys/kern/vfs_cluster.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/kern/vfs_cluster.c Wed Feb 20 06:48:39 2013 (r247020) +++ user/attilio/vmobj-rwlock/sys/kern/vfs_cluster.c Wed Feb 20 10:38:34 2013 (r247021) @@ -46,6 +46,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include @@ -413,7 +414,7 @@ cluster_rbuild(vp, filesize, lbn, blkno, if (toff + tinc > PAGE_SIZE) tinc = PAGE_SIZE - toff; VM_OBJECT_LOCK_ASSERT(tbp->b_pages[j]->object, - MA_OWNED); + RA_WLOCKED); if ((tbp->b_pages[j]->valid & vm_page_bits(toff, tinc)) != 0) break; @@ -489,7 +490,7 @@ cluster_rbuild(vp, filesize, lbn, blkno, */ VM_OBJECT_LOCK(bp->b_bufobj->bo_object); for (j = 0; j < bp->b_npages; j++) { - VM_OBJECT_LOCK_ASSERT(bp->b_pages[j]->object, MA_OWNED); + VM_OBJECT_LOCK_ASSERT(bp->b_pages[j]->object, RA_WLOCKED); if (bp->b_pages[j]->valid == VM_PAGE_BITS_ALL) bp->b_pages[j] = bogus_page; } Modified: user/attilio/vmobj-rwlock/sys/kern/vfs_default.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/kern/vfs_default.c Wed Feb 20 06:48:39 2013 (r247020) +++ user/attilio/vmobj-rwlock/sys/kern/vfs_default.c Wed Feb 20 10:38:34 2013 (r247021) @@ -47,8 +47,8 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include #include +#include #include #include #include Modified: user/attilio/vmobj-rwlock/sys/kern/vfs_subr.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/kern/vfs_subr.c Wed Feb 20 06:48:39 2013 (r247020) +++ user/attilio/vmobj-rwlock/sys/kern/vfs_subr.c Wed Feb 20 10:38:34 2013 (r247021) @@ -67,6 +67,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include Modified: user/attilio/vmobj-rwlock/sys/kern/vfs_syscalls.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/kern/vfs_syscalls.c Wed Feb 20 06:48:39 2013 (r247020) +++ user/attilio/vmobj-rwlock/sys/kern/vfs_syscalls.c Wed Feb 20 10:38:34 2013 (r247021) @@ -61,6 +61,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include Modified: user/attilio/vmobj-rwlock/sys/kern/vfs_vnops.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/kern/vfs_vnops.c Wed Feb 20 06:48:39 2013 (r247020) +++ user/attilio/vmobj-rwlock/sys/kern/vfs_vnops.c Wed Feb 20 10:38:34 2013 (r247021) @@ -55,6 +55,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include Modified: user/attilio/vmobj-rwlock/sys/mips/mips/pmap.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/mips/mips/pmap.c Wed Feb 20 06:48:39 2013 (r247020) +++ user/attilio/vmobj-rwlock/sys/mips/mips/pmap.c Wed Feb 20 10:38:34 2013 (r247021) @@ -2399,7 +2399,7 @@ pmap_enter_object(pmap_t pmap, vm_offset vm_page_t m, mpte; vm_pindex_t diff, psize; - VM_OBJECT_LOCK_ASSERT(m_start->object, MA_OWNED); + VM_OBJECT_LOCK_ASSERT(m_start->object, RA_WLOCKED); psize = atop(end - start); mpte = NULL; m = m_start; @@ -2423,7 +2423,7 @@ void pmap_object_init_pt(pmap_t pmap, vm_offset_t addr, vm_object_t object, vm_pindex_t pindex, vm_size_t size) { - VM_OBJECT_LOCK_ASSERT(object, MA_OWNED); + VM_OBJECT_LOCK_ASSERT(object, RA_WLOCKED); KASSERT(object->type == OBJT_DEVICE || object->type == OBJT_SG, ("pmap_object_init_pt: non-device object")); } @@ -2768,7 +2768,7 @@ pmap_remove_write(vm_page_t m) * another thread while the object is locked. Thus, if PGA_WRITEABLE * is clear, no page table entries need updating. */ - VM_OBJECT_LOCK_ASSERT(m->object, MA_OWNED); + VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED); if ((m->oflags & VPO_BUSY) == 0 && (m->aflags & PGA_WRITEABLE) == 0) return; @@ -2834,7 +2834,7 @@ pmap_is_modified(vm_page_t m) * concurrently set while the object is locked. Thus, if PGA_WRITEABLE * is clear, no PTEs can have PTE_D set. */ - VM_OBJECT_LOCK_ASSERT(m->object, MA_OWNED); + VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED); if ((m->oflags & VPO_BUSY) == 0 && (m->aflags & PGA_WRITEABLE) == 0) return (FALSE); @@ -2882,7 +2882,7 @@ pmap_clear_modify(vm_page_t m) KASSERT((m->oflags & VPO_UNMANAGED) == 0, ("pmap_clear_modify: page %p is not managed", m)); - VM_OBJECT_LOCK_ASSERT(m->object, MA_OWNED); + VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED); KASSERT((m->oflags & VPO_BUSY) == 0, ("pmap_clear_modify: page %p is busy", m)); Modified: user/attilio/vmobj-rwlock/sys/nfsclient/nfs_bio.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/nfsclient/nfs_bio.c Wed Feb 20 06:48:39 2013 (r247020) +++ user/attilio/vmobj-rwlock/sys/nfsclient/nfs_bio.c Wed Feb 20 10:38:34 2013 (r247021) @@ -45,6 +45,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include Modified: user/attilio/vmobj-rwlock/sys/nfsserver/nfs_serv.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/nfsserver/nfs_serv.c Wed Feb 20 06:48:39 2013 (r247020) +++ user/attilio/vmobj-rwlock/sys/nfsserver/nfs_serv.c Wed Feb 20 10:38:34 2013 (r247021) @@ -87,6 +87,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include Modified: user/attilio/vmobj-rwlock/sys/ofed/include/linux/linux_compat.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/ofed/include/linux/linux_compat.c Wed Feb 20 06:48:39 2013 (r247020) +++ user/attilio/vmobj-rwlock/sys/ofed/include/linux/linux_compat.c Wed Feb 20 10:38:34 2013 (r247021) @@ -37,6 +37,7 @@ #include #include #include +#include #include #include Modified: user/attilio/vmobj-rwlock/sys/powerpc/aim/mmu_oea.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/powerpc/aim/mmu_oea.c Wed Feb 20 06:48:39 2013 (r247020) +++ user/attilio/vmobj-rwlock/sys/powerpc/aim/mmu_oea.c Wed Feb 20 10:38:34 2013 (r247021) @@ -1293,7 +1293,7 @@ moea_is_modified(mmu_t mmu, vm_page_t m) * concurrently set while the object is locked. Thus, if PGA_WRITEABLE * is clear, no PTEs can have PTE_CHG set. */ - VM_OBJECT_LOCK_ASSERT(m->object, MA_OWNED); + VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED); if ((m->oflags & VPO_BUSY) == 0 && (m->aflags & PGA_WRITEABLE) == 0) return (FALSE); @@ -1333,7 +1333,7 @@ moea_clear_modify(mmu_t mmu, vm_page_t m KASSERT((m->oflags & VPO_UNMANAGED) == 0, ("moea_clear_modify: page %p is not managed", m)); - VM_OBJECT_LOCK_ASSERT(m->object, MA_OWNED); + VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED); KASSERT((m->oflags & VPO_BUSY) == 0, ("moea_clear_modify: page %p is busy", m)); @@ -1368,7 +1368,7 @@ moea_remove_write(mmu_t mmu, vm_page_t m * another thread while the object is locked. Thus, if PGA_WRITEABLE * is clear, no page table entries need updating. */ - VM_OBJECT_LOCK_ASSERT(m->object, MA_OWNED); + VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED); if ((m->oflags & VPO_BUSY) == 0 && (m->aflags & PGA_WRITEABLE) == 0) return; Modified: user/attilio/vmobj-rwlock/sys/powerpc/aim/mmu_oea64.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/powerpc/aim/mmu_oea64.c Wed Feb 20 06:48:39 2013 (r247020) +++ user/attilio/vmobj-rwlock/sys/powerpc/aim/mmu_oea64.c Wed Feb 20 10:38:34 2013 (r247021) @@ -1449,7 +1449,7 @@ moea64_is_modified(mmu_t mmu, vm_page_t * concurrently set while the object is locked. Thus, if PGA_WRITEABLE * is clear, no PTEs can have LPTE_CHG set. */ - VM_OBJECT_LOCK_ASSERT(m->object, MA_OWNED); + VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED); if ((m->oflags & VPO_BUSY) == 0 && (m->aflags & PGA_WRITEABLE) == 0) return (FALSE); @@ -1484,7 +1484,7 @@ moea64_clear_modify(mmu_t mmu, vm_page_t KASSERT((m->oflags & VPO_UNMANAGED) == 0, ("moea64_clear_modify: page %p is not managed", m)); - VM_OBJECT_LOCK_ASSERT(m->object, MA_OWNED); + VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED); KASSERT((m->oflags & VPO_BUSY) == 0, ("moea64_clear_modify: page %p is busy", m)); @@ -1517,7 +1517,7 @@ moea64_remove_write(mmu_t mmu, vm_page_t * another thread while the object is locked. Thus, if PGA_WRITEABLE * is clear, no page table entries need updating. */ - VM_OBJECT_LOCK_ASSERT(m->object, MA_OWNED); + VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED); if ((m->oflags & VPO_BUSY) == 0 && (m->aflags & PGA_WRITEABLE) == 0) return; Modified: user/attilio/vmobj-rwlock/sys/powerpc/booke/pmap.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/powerpc/booke/pmap.c Wed Feb 20 06:48:39 2013 (r247020) +++ user/attilio/vmobj-rwlock/sys/powerpc/booke/pmap.c Wed Feb 20 10:38:34 2013 (r247021) @@ -1960,7 +1960,7 @@ mmu_booke_remove_write(mmu_t mmu, vm_pag * another thread while the object is locked. Thus, if PGA_WRITEABLE * is clear, no page table entries need updating. */ - VM_OBJECT_LOCK_ASSERT(m->object, MA_OWNED); + VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED); if ((m->oflags & VPO_BUSY) == 0 && (m->aflags & PGA_WRITEABLE) == 0) return; @@ -2175,7 +2175,7 @@ mmu_booke_is_modified(mmu_t mmu, vm_page * concurrently set while the object is locked. Thus, if PGA_WRITEABLE * is clear, no PTEs can be modified. */ - VM_OBJECT_LOCK_ASSERT(m->object, MA_OWNED); + VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED); if ((m->oflags & VPO_BUSY) == 0 && (m->aflags & PGA_WRITEABLE) == 0) return (rv); @@ -2247,7 +2247,7 @@ mmu_booke_clear_modify(mmu_t mmu, vm_pag KASSERT((m->oflags & VPO_UNMANAGED) == 0, ("mmu_booke_clear_modify: page %p is not managed", m)); - VM_OBJECT_LOCK_ASSERT(m->object, MA_OWNED); + VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED); KASSERT((m->oflags & VPO_BUSY) == 0, ("mmu_booke_clear_modify: page %p is busy", m)); @@ -2662,7 +2662,7 @@ mmu_booke_object_init_pt(mmu_t mmu, pmap vm_object_t object, vm_pindex_t pindex, vm_size_t size) { - VM_OBJECT_LOCK_ASSERT(object, MA_OWNED); + VM_OBJECT_LOCK_ASSERT(object, RA_WLOCKED); KASSERT(object->type == OBJT_DEVICE || object->type == OBJT_SG, ("mmu_booke_object_init_pt: non-device object")); } Modified: user/attilio/vmobj-rwlock/sys/security/mac/mac_process.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/security/mac/mac_process.c Wed Feb 20 06:48:39 2013 (r247020) +++ user/attilio/vmobj-rwlock/sys/security/mac/mac_process.c Wed Feb 20 10:38:34 2013 (r247021) @@ -54,9 +54,9 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include #include #include +#include #include #include #include Modified: user/attilio/vmobj-rwlock/sys/sparc64/sparc64/pmap.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/sparc64/sparc64/pmap.c Wed Feb 20 06:48:39 2013 (r247020) +++ user/attilio/vmobj-rwlock/sys/sparc64/sparc64/pmap.c Wed Feb 20 10:38:34 2013 (r247021) @@ -1663,7 +1663,7 @@ pmap_object_init_pt(pmap_t pm, vm_offset vm_pindex_t pindex, vm_size_t size) { - VM_OBJECT_LOCK_ASSERT(object, MA_OWNED); + VM_OBJECT_LOCK_ASSERT(object, RA_WLOCKED); KASSERT(object->type == OBJT_DEVICE || object->type == OBJT_SG, ("pmap_object_init_pt: non-device object")); } @@ -2061,7 +2061,7 @@ pmap_is_modified(vm_page_t m) * concurrently set while the object is locked. Thus, if PGA_WRITEABLE * is clear, no TTEs can have TD_W set. */ - VM_OBJECT_LOCK_ASSERT(m->object, MA_OWNED); + VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED); if ((m->oflags & VPO_BUSY) == 0 && (m->aflags & PGA_WRITEABLE) == 0) return (rv); @@ -2129,7 +2129,7 @@ pmap_clear_modify(vm_page_t m) KASSERT((m->oflags & VPO_UNMANAGED) == 0, ("pmap_clear_modify: page %p is not managed", m)); - VM_OBJECT_LOCK_ASSERT(m->object, MA_OWNED); + VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED); KASSERT((m->oflags & VPO_BUSY) == 0, ("pmap_clear_modify: page %p is busy", m)); @@ -2184,7 +2184,7 @@ pmap_remove_write(vm_page_t m) * another thread while the object is locked. Thus, if PGA_WRITEABLE * is clear, no page table entries need updating. */ - VM_OBJECT_LOCK_ASSERT(m->object, MA_OWNED); + VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED); if ((m->oflags & VPO_BUSY) == 0 && (m->aflags & PGA_WRITEABLE) == 0) return; Modified: user/attilio/vmobj-rwlock/sys/ufs/ffs/ffs_rawread.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/ufs/ffs/ffs_rawread.c Wed Feb 20 06:48:39 2013 (r247020) +++ user/attilio/vmobj-rwlock/sys/ufs/ffs/ffs_rawread.c Wed Feb 20 10:38:34 2013 (r247021) @@ -42,6 +42,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include Modified: user/attilio/vmobj-rwlock/sys/ufs/ffs/ffs_vnops.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/ufs/ffs/ffs_vnops.c Wed Feb 20 06:48:39 2013 (r247020) +++ user/attilio/vmobj-rwlock/sys/ufs/ffs/ffs_vnops.c Wed Feb 20 10:38:34 2013 (r247021) @@ -75,6 +75,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include Modified: user/attilio/vmobj-rwlock/sys/vm/default_pager.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/vm/default_pager.c Wed Feb 20 06:48:39 2013 (r247020) +++ user/attilio/vmobj-rwlock/sys/vm/default_pager.c Wed Feb 20 10:38:34 2013 (r247021) @@ -45,7 +45,7 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include +#include #include #include Modified: user/attilio/vmobj-rwlock/sys/vm/device_pager.c ============================================================================== --- user/attilio/vmobj-rwlock/sys/vm/device_pager.c Wed Feb 20 06:48:39 2013 (r247020) +++ user/attilio/vmobj-rwlock/sys/vm/device_pager.c Wed Feb 20 10:38:34 2013 (r247021) @@ -44,6 +44,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include @@ -206,7 +207,7 @@ void cdev_pager_free_page(vm_object_t object, vm_page_t m) { - VM_OBJECT_LOCK_ASSERT(object, MA_OWNED); + VM_OBJECT_LOCK_ASSERT(object, RA_WLOCKED); if (object->type == OBJT_MGTDEVICE) { KASSERT((m->oflags & VPO_UNMANAGED) == 0, ("unmanaged %p", m)); pmap_remove_all(m); @@ -221,7 +222,7 @@ static void dev_pager_free_page(vm_object_t object, vm_page_t m) { - VM_OBJECT_LOCK_ASSERT(object, MA_OWNED); + VM_OBJECT_LOCK_ASSERT(object, RA_WLOCKED); KASSERT((object->type == OBJT_DEVICE && (m->oflags & VPO_UNMANAGED) != 0), ("Managed device or page obj %p m %p", object, m)); @@ -258,11 +259,11 @@ dev_pager_getpages(vm_object_t object, v { int error, i; - VM_OBJECT_LOCK_ASSERT(object, MA_OWNED); + VM_OBJECT_LOCK_ASSERT(object, RA_WLOCKED); error = object->un_pager.devp.ops->cdev_pg_fault(object, IDX_TO_OFF(ma[reqpage]->pindex), PROT_READ, &ma[reqpage]); - VM_OBJECT_LOCK_ASSERT(object, MA_OWNED); + VM_OBJECT_LOCK_ASSERT(object, RA_WLOCKED); for (i = 0; i < count; i++) { if (i != reqpage) { *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***