summaryrefslogtreecommitdiffstats
path: root/sys/vm/vm_map.h
diff options
context:
space:
mode:
authorgreen <green@FreeBSD.org>2002-03-18 15:08:09 +0000
committergreen <green@FreeBSD.org>2002-03-18 15:08:09 +0000
commit353ca8aae74c4758d7ec344445ff769de079e600 (patch)
tree03fcb7624947120aa4fef84d5f6a294e47e7965f /sys/vm/vm_map.h
parent97406621603cd326708524776a2b5e2c5d8c1f75 (diff)
downloadFreeBSD-src-353ca8aae74c4758d7ec344445ff769de079e600.zip
FreeBSD-src-353ca8aae74c4758d7ec344445ff769de079e600.tar.gz
Back out the modification of vm_map locks from lockmgr to sx locks. The
best path forward now is likely to change the lockmgr locks to simple sleep mutexes, then see if any extra contention it generates is greater than removed overhead of managing local locking state information, cost of extra calls into lockmgr, etc. Additionally, making the vm_map lock a mutex and respecting it properly will put us much closer to not needing Giant magic in vm.
Diffstat (limited to 'sys/vm/vm_map.h')
-rw-r--r--sys/vm/vm_map.h30
1 files changed, 10 insertions, 20 deletions
diff --git a/sys/vm/vm_map.h b/sys/vm/vm_map.h
index 29816c0..b23af37 100644
--- a/sys/vm/vm_map.h
+++ b/sys/vm/vm_map.h
@@ -70,8 +70,7 @@
#ifndef _VM_MAP_
#define _VM_MAP_
-#include <sys/lock.h>
-#include <sys/sx.h>
+#include <sys/lockmgr.h>
#ifdef MAP_LOCK_DIAGNOSTIC
#include <sys/systm.h>
@@ -153,7 +152,7 @@ struct vm_map_entry {
*/
struct vm_map {
struct vm_map_entry header; /* List of entries */
- struct sx lock; /* Lock for map data */
+ struct lock lock; /* Lock for map data */
int nentries; /* Number of entries */
vm_size_t size; /* virtual size */
u_char system_map; /* Am I a system map? */
@@ -215,23 +214,14 @@ void vm_map_entry_set_behavior(struct vm_map_entry *entry, u_char behavior);
} while (0)
#endif
-void _vm_map_lock(vm_map_t map, const char *file, int line);
-int _vm_map_try_lock(vm_map_t map, const char *file, int line);
-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_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);
-
-#define vm_map_lock(map) _vm_map_lock(map, LOCK_FILE, LOCK_LINE)
-#define vm_map_try_lock(map) _vm_map_try_lock(map, LOCK_FILE, LOCK_LINE)
-#define vm_map_unlock(map) _vm_map_unlock(map, LOCK_FILE, LOCK_LINE)
-#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_lock_upgrade(map) _vm_map_lock_upgrade(map, LOCK_FILE, LOCK_LINE)
-#define vm_map_lock_downgrade(map) _vm_map_lock_downgrade(map, LOCK_FILE, \
- LOCK_LINE)
-
+void vm_map_lock(vm_map_t map);
+void vm_map_unlock(vm_map_t map);
+void vm_map_lock_read(vm_map_t map);
+void vm_map_unlock_read(vm_map_t map);
+int vm_map_lock_upgrade(vm_map_t map);
+void vm_map_lock_downgrade(vm_map_t map);
+void vm_map_set_recursive(vm_map_t map);
+void vm_map_clear_recursive(vm_map_t map);
vm_offset_t vm_map_min(vm_map_t map);
vm_offset_t vm_map_max(vm_map_t map);
struct pmap *vm_map_pmap(vm_map_t map);
OpenPOWER on IntegriCloud