From 9513bac196b9078727e9e71fe300ad749da75966 Mon Sep 17 00:00:00 2001 From: alc Date: Sun, 8 Feb 2009 22:17:24 +0000 Subject: Eliminate OBJ_NEEDGIANT. After r188331, OBJ_NEEDGIANT's only use is by a redundant assertion in vm_fault(). Reviewed by: kib --- sys/vm/vm_fault.c | 3 --- sys/vm/vm_object.c | 5 +---- sys/vm/vm_object.h | 1 - sys/vm/vnode_pager.c | 2 -- 4 files changed, 1 insertion(+), 10 deletions(-) (limited to 'sys/vm') 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) { /* -- cgit v1.1