svn commit: r188348 - head/sys/vm
Alan Cox
alc at FreeBSD.org
Sun Feb 8 14:17:25 PST 2009
Author: alc
Date: Sun Feb 8 22:17:24 2009
New Revision: 188348
URL: http://svn.freebsd.org/changeset/base/188348
Log:
Eliminate OBJ_NEEDGIANT. After r188331, OBJ_NEEDGIANT's only use is by a
redundant assertion in vm_fault().
Reviewed by: kib
Modified:
head/sys/vm/vm_fault.c
head/sys/vm/vm_object.c
head/sys/vm/vm_object.h
head/sys/vm/vnode_pager.c
Modified: head/sys/vm/vm_fault.c
==============================================================================
--- head/sys/vm/vm_fault.c Sun Feb 8 22:13:57 2009 (r188347)
+++ head/sys/vm/vm_fault.c Sun Feb 8 22:17:24 2009 (r188348)
@@ -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
Modified: head/sys/vm/vm_object.c
==============================================================================
--- head/sys/vm/vm_object.c Sun Feb 8 22:13:57 2009 (r188347)
+++ head/sys/vm/vm_object.c Sun Feb 8 22:17:24 2009 (r188348)
@@ -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) {
Modified: head/sys/vm/vm_object.h
==============================================================================
--- head/sys/vm/vm_object.h Sun Feb 8 22:13:57 2009 (r188347)
+++ head/sys/vm/vm_object.h Sun Feb 8 22:17:24 2009 (r188348)
@@ -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))
Modified: head/sys/vm/vnode_pager.c
==============================================================================
--- head/sys/vm/vnode_pager.c Sun Feb 8 22:13:57 2009 (r188347)
+++ head/sys/vm/vnode_pager.c Sun Feb 8 22:17:24 2009 (r188348)
@@ -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) {
/*
More information about the svn-src-all
mailing list