diff options
author | dg <dg@FreeBSD.org> | 1995-03-01 23:30:04 +0000 |
---|---|---|
committer | dg <dg@FreeBSD.org> | 1995-03-01 23:30:04 +0000 |
commit | eb198debb87180989f8b19a7edc7eccb01f90fa5 (patch) | |
tree | 939577bd1f960df71501392b5bf83109c6c968b5 /sys/vm/vm_object.h | |
parent | e8c06a9513ade8cda989aadc92beefcb5596acf0 (diff) | |
download | FreeBSD-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.h | 12 |
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)); |