diff options
author | alc <alc@FreeBSD.org> | 2006-07-21 23:22:49 +0000 |
---|---|---|
committer | alc <alc@FreeBSD.org> | 2006-07-21 23:22:49 +0000 |
commit | b5b274360a3812cdb97291613b347d2d3708a69f (patch) | |
tree | eae61cb5300fcf10fa3362df8cea2c0797332c3b /sys/vm | |
parent | 9d70629cbaaea9865d9f6ec1bac456ba1a85d373 (diff) | |
download | FreeBSD-src-b5b274360a3812cdb97291613b347d2d3708a69f.zip FreeBSD-src-b5b274360a3812cdb97291613b347d2d3708a69f.tar.gz |
Retire debug.mpsafevm. None of the architectures supported in CVS require
it any longer.
Diffstat (limited to 'sys/vm')
-rw-r--r-- | sys/vm/vm.h | 13 | ||||
-rw-r--r-- | sys/vm/vm_fault.c | 8 | ||||
-rw-r--r-- | sys/vm/vm_map.c | 10 | ||||
-rw-r--r-- | sys/vm/vm_meter.c | 8 |
4 files changed, 3 insertions, 36 deletions
diff --git a/sys/vm/vm.h b/sys/vm/vm.h index 102a934..491872b 100644 --- a/sys/vm/vm.h +++ b/sys/vm/vm.h @@ -115,19 +115,6 @@ typedef struct vm_page *vm_page_t; #endif /* _KERNEL */ /* - * Virtual memory MPSAFE temporary workarounds. - */ -extern int debug_mpsafevm; /* defined in vm/vm_meter.c */ -#define VM_LOCK_GIANT() do { \ - if (!debug_mpsafevm) \ - mtx_lock(&Giant); \ -} while (0) -#define VM_UNLOCK_GIANT() do { \ - if (!debug_mpsafevm) \ - mtx_unlock(&Giant); \ -} while (0) - -/* * Information passed from the machine-independant VM initialization code * for use by machine-dependant code (mainly for MMU support) */ diff --git a/sys/vm/vm_fault.c b/sys/vm/vm_fault.c index 9387575..b54f51c 100644 --- a/sys/vm/vm_fault.c +++ b/sys/vm/vm_fault.c @@ -152,7 +152,6 @@ unlock_map(struct faultstate *fs) static void unlock_and_deallocate(struct faultstate *fs) { - boolean_t firstobjneedgiant; vm_object_pip_wakeup(fs->object); VM_OBJECT_UNLOCK(fs->object); @@ -165,7 +164,6 @@ unlock_and_deallocate(struct faultstate *fs) VM_OBJECT_UNLOCK(fs->first_object); fs->first_m = NULL; } - firstobjneedgiant = (fs->first_object->flags & OBJ_NEEDGIANT) != 0; vm_object_deallocate(fs->first_object); unlock_map(fs); if (fs->vp != NULL) { @@ -176,8 +174,6 @@ unlock_and_deallocate(struct faultstate *fs) fs->vp = NULL; VFS_UNLOCK_GIANT(vfslocked); } - if (firstobjneedgiant) - VM_UNLOCK_GIANT(); } /* @@ -302,7 +298,7 @@ RetryFault:; KASSERT((fs.first_object->flags & OBJ_NEEDGIANT) == 0 || !fs.map->system_map, ("vm_fault: Object requiring giant mapped by system map")); - if (fs.first_object->flags & OBJ_NEEDGIANT && debug_mpsafevm) + if (fs.first_object->flags & OBJ_NEEDGIANT) mtx_unlock(&Giant); vm_object_pip_add(fs.first_object, 1); @@ -401,8 +397,6 @@ RetryFault:; vm_object_pip_wakeup(fs.object); VM_OBJECT_UNLOCK(fs.object); atomic_add_int(&cnt.v_intrans, 1); - if (fs.first_object->flags & OBJ_NEEDGIANT) - VM_UNLOCK_GIANT(); vm_object_deallocate(fs.first_object); goto RetryFault; } diff --git a/sys/vm/vm_map.c b/sys/vm/vm_map.c index da222d7..ff586f2 100644 --- a/sys/vm/vm_map.c +++ b/sys/vm/vm_map.c @@ -2195,11 +2195,9 @@ vm_map_sync( } } - if (invalidate) { - VM_LOCK_GIANT(); + if (invalidate) pmap_remove(map->pmap, start, end); - VM_UNLOCK_GIANT(); - } + /* * Make a second pass, cleaning/uncaching pages from the indicated * objects as we go. @@ -2363,11 +2361,7 @@ vm_map_delete(vm_map_t map, vm_offset_t start, vm_offset_t end) vm_map_entry_unwire(map, entry); } - if (!map->system_map) - VM_LOCK_GIANT(); pmap_remove(map->pmap, entry->start, entry->end); - if (!map->system_map) - VM_UNLOCK_GIANT(); /* * Delete the entry (which may delete the object) only after diff --git a/sys/vm/vm_meter.c b/sys/vm/vm_meter.c index 84de42c..709f9b5 100644 --- a/sys/vm/vm_meter.c +++ b/sys/vm/vm_meter.c @@ -52,14 +52,6 @@ __FBSDID("$FreeBSD$"); #include <vm/vm_object.h> #include <sys/sysctl.h> -/* - * Virtual memory MPSAFE temporary workarounds. - */ -int debug_mpsafevm = 1; -TUNABLE_INT("debug.mpsafevm", &debug_mpsafevm); -SYSCTL_INT(_debug, OID_AUTO, mpsafevm, CTLFLAG_RD, &debug_mpsafevm, 0, - "Enable/disable MPSAFE virtual memory support"); - struct vmmeter cnt; int maxslp = MAXSLP; |