summaryrefslogtreecommitdiffstats
path: root/sys/vm
diff options
context:
space:
mode:
authoralc <alc@FreeBSD.org>2009-02-08 22:17:24 +0000
committeralc <alc@FreeBSD.org>2009-02-08 22:17:24 +0000
commit9513bac196b9078727e9e71fe300ad749da75966 (patch)
treecdafe0bf3992c8f14b181d48b7fd17fd8e0490fd /sys/vm
parentc09da8d6d9b17bb375fdba22adcc311ce2c10e86 (diff)
downloadFreeBSD-src-9513bac196b9078727e9e71fe300ad749da75966.zip
FreeBSD-src-9513bac196b9078727e9e71fe300ad749da75966.tar.gz
Eliminate OBJ_NEEDGIANT. After r188331, OBJ_NEEDGIANT's only use is by a
redundant assertion in vm_fault(). Reviewed by: kib
Diffstat (limited to 'sys/vm')
-rw-r--r--sys/vm/vm_fault.c3
-rw-r--r--sys/vm/vm_object.c5
-rw-r--r--sys/vm/vm_object.h1
-rw-r--r--sys/vm/vnode_pager.c2
4 files changed, 1 insertions, 10 deletions
diff --git a/sys/vm/vm_fault.c b/sys/vm/vm_fault.c
index 13dff3e..42245c8 100644
--- a/sys/vm/vm_fault.c
+++ b/sys/vm/vm_fault.c
@@ -567,9 +567,6 @@ vnode_lock:
vnode_locked:
KASSERT(fs.vp == NULL || !fs.map->system_map,
("vm_fault: vnode-backed object mapped by system map"));
- KASSERT((fs.first_object->flags & OBJ_NEEDGIANT) == 0 ||
- !fs.map->system_map,
- ("vm_fault: Object requiring giant mapped by system map"));
/*
* now we find out if any other pages should be paged
diff --git a/sys/vm/vm_object.c b/sys/vm/vm_object.c
index c7ca318..c74b760 100644
--- a/sys/vm/vm_object.c
+++ b/sys/vm/vm_object.c
@@ -1273,11 +1273,9 @@ vm_object_shadow(
source->shadow_count++;
source->generation++;
#if VM_NRESERVLEVEL > 0
- result->flags |= source->flags & (OBJ_NEEDGIANT | OBJ_COLORED);
+ result->flags |= source->flags & OBJ_COLORED;
result->pg_color = (source->pg_color + OFF_TO_IDX(*offset)) &
((1 << (VM_NFREEORDER - 1)) - 1);
-#else
- result->flags |= source->flags & OBJ_NEEDGIANT;
#endif
VM_OBJECT_UNLOCK(source);
}
@@ -1349,7 +1347,6 @@ vm_object_split(vm_map_entry_t entry)
orig_object->backing_object_offset + entry->offset;
new_object->backing_object = source;
}
- new_object->flags |= orig_object->flags & OBJ_NEEDGIANT;
retry:
if ((m = TAILQ_FIRST(&orig_object->memq)) != NULL) {
if (m->pindex < offidxstart) {
diff --git a/sys/vm/vm_object.h b/sys/vm/vm_object.h
index e6f605a..250dad8 100644
--- a/sys/vm/vm_object.h
+++ b/sys/vm/vm_object.h
@@ -147,7 +147,6 @@ struct vm_object {
#define OBJ_COLORED 0x1000 /* pg_color is defined */
#define OBJ_ONEMAPPING 0x2000 /* One USE (a single, non-forked) mapping flag */
#define OBJ_DISCONNECTWNT 0x4000 /* disconnect from vnode wanted */
-#define OBJ_NEEDGIANT 0x8000 /* object requires Giant */
#define IDX_TO_OFF(idx) (((vm_ooffset_t)(idx)) << PAGE_SHIFT)
#define OFF_TO_IDX(off) ((vm_pindex_t)(((vm_ooffset_t)(off)) >> PAGE_SHIFT))
diff --git a/sys/vm/vnode_pager.c b/sys/vm/vnode_pager.c
index a8aef29..49f36de 100644
--- a/sys/vm/vnode_pager.c
+++ b/sys/vm/vnode_pager.c
@@ -223,8 +223,6 @@ retry:
object->un_pager.vnp.vnp_size = size;
object->handle = handle;
- if (VFS_NEEDSGIANT(vp->v_mount))
- vm_object_set_flag(object, OBJ_NEEDGIANT);
VI_LOCK(vp);
if (vp->v_object != NULL) {
/*
OpenPOWER on IntegriCloud