diff options
author | alc <alc@FreeBSD.org> | 2004-02-12 20:56:06 +0000 |
---|---|---|
committer | alc <alc@FreeBSD.org> | 2004-02-12 20:56:06 +0000 |
commit | 81636e22b051784300f39ebfc9c27f37c74e63c2 (patch) | |
tree | be6c561b2f2fae37ee4ff0e69a9f41f6e43cb749 /sys/vm/vm_map.c | |
parent | 01083c2eb842cc97a04a0322985cfcbb868489dc (diff) | |
download | FreeBSD-src-81636e22b051784300f39ebfc9c27f37c74e63c2.zip FreeBSD-src-81636e22b051784300f39ebfc9c27f37c74e63c2.tar.gz |
Further reduce the use of Giant in vm_map_delete(): Perform pmap_remove()
on system maps, besides the kmem_map, without Giant.
In collaboration with: tegge
Diffstat (limited to 'sys/vm/vm_map.c')
-rw-r--r-- | sys/vm/vm_map.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/vm/vm_map.c b/sys/vm/vm_map.c index 8c5a502..ecfade8 100644 --- a/sys/vm/vm_map.c +++ b/sys/vm/vm_map.c @@ -2173,12 +2173,12 @@ vm_map_delete(vm_map_t map, vm_offset_t start, vm_offset_t end) vm_map_entry_unwire(map, entry); } - if (map != kmem_map) + if (!map->system_map) mtx_lock(&Giant); vm_page_lock_queues(); pmap_remove(map->pmap, entry->start, entry->end); vm_page_unlock_queues(); - if (map != kmem_map) + if (!map->system_map) mtx_unlock(&Giant); /* |