diff options
author | Richard Braun <rbraun@sceen.net> | 2012-04-27 20:13:21 +0000 |
---|---|---|
committer | Richard Braun <rbraun@sceen.net> | 2012-04-27 20:13:21 +0000 |
commit | 1c9690b8dbe8a6fcf93d494a3afafb11492c2404 (patch) | |
tree | d49ea0128d9e3ef6dd7e0463021d4c6947e814ae /chips/busses.c | |
parent | eaf536856d05cfca2259b8e7c0fe77cb8fc1c439 (diff) |
Augment VM maps with a red-black tree
* vm/vm_map.c: Add #include <kern/rbtree.h>.
(vm_map_setup): Initialize the map red-black tree.
(vm_map_entry_cmp_lookup): New function.
(vm_map_entry_cmp_insert): Likewise.
(_vm_map_entry_link): Insert map entry in the red-black tree.
(_vm_map_entry_unlink): Remove map entry from the red-black tree.
(vm_map_lookup_entry): Rework the way the VM map hint is used, and
replace the linear search with a binary search tree lookup.
(vm_map_copy_insert): Move map entries from the map copy tree to the
destination map tree.
(vm_map_copyin): Initialize the map copy red-black tree.
* vm/vm_map.h: Add #include <kern/rbtree.h>.
(vm_map_entry): Add `tree_node' member.
(vm_map_header): Add `tree' member.
Diffstat (limited to 'chips/busses.c')
0 files changed, 0 insertions, 0 deletions