'Change the vm_map lookup algorithm'

I saw a new project on the wiki's Projects page about 'change the VM map
lookup algorithm'. (Thanks sjg and co. for keeping the projects page
active!)

(Just a little background)
Every VM map in (D)FBSD is composed of a number of vm_map_entries; each
map entry covers a contiguous range of addresses in the map. Given an
address and a map, there is currently a VM function, vm_map_lookup_entry,
which will find the vm_map entry containing it. In DragonFly, there is
currently a red-black tree, rooted in the vm_map for this mapping. [1]
FreeBSD uses a splay tree for the same map.
- ----------

A hash table on page addresses, at least, seems like it'd be pretty awful;
a single map entry that was a few pages long would have entries in
multiple buckets. A hash table that dealt in >1page chunks (say 16K) would
only work well on chunk-aligned map entry sections... perhaps I'm not
seeing how this table would be built?

My instinct (without examining either the current RB trees or the map
layouts of usual programs!) would be that a radix tree or a range radix
tree would be suitable; looking at the alpine session writing this email: