summaryrefslogtreecommitdiffstats
path: root/sys/vm/vm_map.h
diff options
context:
space:
mode:
authoralc <alc@FreeBSD.org>2002-07-11 02:39:24 +0000
committeralc <alc@FreeBSD.org>2002-07-11 02:39:24 +0000
commit9d3ad1a89fc2d046c63c29aa65285aa17fc17fe7 (patch)
tree700fd7bd35493730f7d3626305df457d9e355504 /sys/vm/vm_map.h
parentb244d01c4d1f0d892a66a78485850cf28a6db242 (diff)
downloadFreeBSD-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.h3
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)
OpenPOWER on IntegriCloud