Retire debug.mpsafevm. None of the architectures supported in CVS require

it any longer.
This commit is contained in:
Alan Cox 2006-07-21 23:22:49 +00:00
parent 7697c5e483
commit 2cf139527c
4 changed files with 3 additions and 36 deletions

View File

@ -114,19 +114,6 @@ struct vm_page;
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)

View File

@ -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;
}

View File

@ -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

View File

@ -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;