summaryrefslogtreecommitdiffstats
path: root/sys/vm
diff options
context:
space:
mode:
authoralc <alc@FreeBSD.org>2006-07-21 23:22:49 +0000
committeralc <alc@FreeBSD.org>2006-07-21 23:22:49 +0000
commitb5b274360a3812cdb97291613b347d2d3708a69f (patch)
treeeae61cb5300fcf10fa3362df8cea2c0797332c3b /sys/vm
parent9d70629cbaaea9865d9f6ec1bac456ba1a85d373 (diff)
downloadFreeBSD-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.h13
-rw-r--r--sys/vm/vm_fault.c8
-rw-r--r--sys/vm/vm_map.c10
-rw-r--r--sys/vm/vm_meter.c8
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;
OpenPOWER on IntegriCloud