summaryrefslogtreecommitdiffstats
path: root/sys/vm/vm_map.h
diff options
context:
space:
mode:
authordas <das@FreeBSD.org>2003-03-12 23:13:16 +0000
committerdas <das@FreeBSD.org>2003-03-12 23:13:16 +0000
commit96f973e7de4d8f2a11ecedfae50b316319fd1026 (patch)
tree6cae5d8751656edd0c9fcd23480226ea6d6747ec /sys/vm/vm_map.h
parenteb02bdf56a079dea8449cdfa53c66a3d36496504 (diff)
downloadFreeBSD-src-96f973e7de4d8f2a11ecedfae50b316319fd1026.zip
FreeBSD-src-96f973e7de4d8f2a11ecedfae50b316319fd1026.tar.gz
- When the VM daemon is out of swap space and looking for a
process to kill, don't block on a map lock while holding the process lock. Instead, skip processes whose map locks are held and find something else to kill. - Add vm_map_trylock_read() to support the above. Reviewed by: alc, mike (mentor)
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 eef9a48..b685a18 100644
--- a/sys/vm/vm_map.h
+++ b/sys/vm/vm_map.h
@@ -248,6 +248,7 @@ void _vm_map_unlock(vm_map_t map, const char *file, int line);
void _vm_map_lock_read(vm_map_t map, const char *file, int line);
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_trylock_read(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);
@@ -258,6 +259,8 @@ void vm_map_wakeup(vm_map_t map);
#define vm_map_lock_read(map) _vm_map_lock_read(map, LOCK_FILE, LOCK_LINE)
#define vm_map_unlock_read(map) _vm_map_unlock_read(map, LOCK_FILE, LOCK_LINE)
#define vm_map_trylock(map) _vm_map_trylock(map, LOCK_FILE, LOCK_LINE)
+#define vm_map_trylock_read(map) \
+ _vm_map_trylock_read(map, LOCK_FILE, LOCK_LINE)
#define vm_map_lock_upgrade(map) \
_vm_map_lock_upgrade(map, LOCK_FILE, LOCK_LINE)
#define vm_map_lock_downgrade(map) \
OpenPOWER on IntegriCloud