summaryrefslogtreecommitdiffstats
path: root/sys/vm/vm_object.h
diff options
context:
space:
mode:
authordg <dg@FreeBSD.org>1995-03-01 23:30:04 +0000
committerdg <dg@FreeBSD.org>1995-03-01 23:30:04 +0000
commiteb198debb87180989f8b19a7edc7eccb01f90fa5 (patch)
tree939577bd1f960df71501392b5bf83109c6c968b5 /sys/vm/vm_object.h
parente8c06a9513ade8cda989aadc92beefcb5596acf0 (diff)
downloadFreeBSD-src-eb198debb87180989f8b19a7edc7eccb01f90fa5.zip
FreeBSD-src-eb198debb87180989f8b19a7edc7eccb01f90fa5.tar.gz
Various changes from John and myself that do the following:
New functions create - vm_object_pip_wakeup and pagedaemon_wakeup that are used to reduce the actual number of wakeups. New function vm_page_protect which is used in conjuction with some new page flags to reduce the number of calls to pmap_page_protect. Minor changes to reduce unnecessary spl nesting. Rewrote vm_page_alloc() to improve readability. Various other mostly cosmetic changes.
Diffstat (limited to 'sys/vm/vm_object.h')
-rw-r--r--sys/vm/vm_object.h12
1 files changed, 11 insertions, 1 deletions
diff --git a/sys/vm/vm_object.h b/sys/vm/vm_object.h
index 484885d..709732e 100644
--- a/sys/vm/vm_object.h
+++ b/sys/vm/vm_object.h
@@ -61,7 +61,7 @@
* any improvements or extensions that they make and grant Carnegie the
* rights to redistribute these changes.
*
- * $Id: vm_object.h,v 1.7 1995/02/22 09:15:30 davidg Exp $
+ * $Id: vm_object.h,v 1.8 1995/02/22 10:06:43 davidg Exp $
*/
/*
@@ -146,6 +146,16 @@ vm_object_t kmem_object;
#define vm_object_lock_try(object) simple_lock_try(&(object)->Lock)
#endif
+__inline static void
+vm_object_pip_wakeup( vm_object_t object) {
+ object->paging_in_progress--;
+ if ((object->flags & OBJ_PIPWNT) &&
+ object->paging_in_progress == 0) {
+ object->flags &= ~OBJ_PIPWNT;
+ wakeup((caddr_t) object);
+ }
+}
+
#ifdef KERNEL
vm_object_t vm_object_allocate __P((vm_size_t));
void vm_object_cache_clear __P((void));
OpenPOWER on IntegriCloud