diff options
author | alc <alc@FreeBSD.org> | 2002-07-11 02:39:24 +0000 |
---|---|---|
committer | alc <alc@FreeBSD.org> | 2002-07-11 02:39:24 +0000 |
commit | 9d3ad1a89fc2d046c63c29aa65285aa17fc17fe7 (patch) | |
tree | 700fd7bd35493730f7d3626305df457d9e355504 /sys/vm/vm_map.h | |
parent | b244d01c4d1f0d892a66a78485850cf28a6db242 (diff) | |
download | FreeBSD-src-9d3ad1a89fc2d046c63c29aa65285aa17fc17fe7.zip FreeBSD-src-9d3ad1a89fc2d046c63c29aa65285aa17fc17fe7.tar.gz |
o Add a "needs wakeup" flag to the vm_map for use by kmem_alloc_wait()
and kmem_free_wakeup(). Previously, kmem_free_wakeup() always
called wakeup(). In general, no one was sleeping.
o Export vm_map_unlock_and_wait() and vm_map_wakeup() from vm_map.c
for use in vm_kern.c.
Diffstat (limited to 'sys/vm/vm_map.h')
-rw-r--r-- | sys/vm/vm_map.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/sys/vm/vm_map.h b/sys/vm/vm_map.h index 60367ac..41ccd5c 100644 --- a/sys/vm/vm_map.h +++ b/sys/vm/vm_map.h @@ -164,6 +164,7 @@ struct vm_map { struct lock lock; /* Lock for map data */ int nentries; /* Number of entries */ vm_size_t size; /* virtual size */ + u_char needs_wakeup; u_char system_map; /* Am I a system map? */ u_char infork; /* Am I in fork processing? */ vm_map_entry_t root; @@ -245,6 +246,8 @@ void _vm_map_unlock_read(vm_map_t map, const char *file, int line); int _vm_map_trylock(vm_map_t map, const char *file, int line); int _vm_map_lock_upgrade(vm_map_t map, const char *file, int line); void _vm_map_lock_downgrade(vm_map_t map, const char *file, int line); +int vm_map_unlock_and_wait(vm_map_t map, boolean_t user_wait); +void vm_map_wakeup(vm_map_t map); #define vm_map_lock(map) _vm_map_lock(map, LOCK_FILE, LOCK_LINE) #define vm_map_unlock(map) _vm_map_unlock(map, LOCK_FILE, LOCK_LINE) |