Lines Matching refs:rtree

160 vm_radix_getroot(struct vm_radix *rtree)
163 return ((struct vm_radix_node *)rtree->rt_root);
170 vm_radix_setroot(struct vm_radix *rtree, struct vm_radix_node *rnode)
173 rtree->rt_root = (uintptr_t)rnode;
333 vm_radix_insert(struct vm_radix *rtree, vm_page_t page)
350 rnode = vm_radix_getroot(rtree);
352 rtree->rt_root = (uintptr_t)page | VM_RADIX_ISLEAF;
355 parentp = (void **)&rtree->rt_root;
375 rtree->rt_flags |= RT_INSERT_INPROG;
378 rtree->rt_flags &= ~RT_INSERT_INPROG;
380 rtree->rt_flags &= ~RT_TRIE_MODIFIED;
383 if ((rtree->rt_flags & RT_TRIE_MODIFIED) != 0) {
384 rtree->rt_flags &= ~RT_TRIE_MODIFIED;
414 rtree->rt_flags |= RT_INSERT_INPROG;
416 rtree->rt_flags &= ~RT_INSERT_INPROG;
418 rtree->rt_flags &= ~RT_TRIE_MODIFIED;
421 if ((rtree->rt_flags & RT_TRIE_MODIFIED) != 0) {
422 rtree->rt_flags &= ~RT_TRIE_MODIFIED;
439 vm_radix_is_singleton(struct vm_radix *rtree)
443 rnode = vm_radix_getroot(rtree);
454 vm_radix_lookup(struct vm_radix *rtree, vm_pindex_t index)
460 rnode = vm_radix_getroot(rtree);
480 vm_radix_lookup_ge(struct vm_radix *rtree, vm_pindex_t index)
491 rnode = vm_radix_getroot(rtree);
591 vm_radix_lookup_le(struct vm_radix *rtree, vm_pindex_t index)
602 rnode = vm_radix_getroot(rtree);
705 vm_radix_remove(struct vm_radix *rtree, vm_pindex_t index)
722 if ((rtree->rt_flags & RT_INSERT_INPROG) != 0)
723 rtree->rt_flags |= RT_TRIE_MODIFIED;
725 rnode = vm_radix_getroot(rtree);
730 vm_radix_setroot(rtree, NULL);
752 vm_radix_setroot(rtree, rnode->rn_child[i]);
775 vm_radix_reclaim_allnodes(struct vm_radix *rtree)
779 KASSERT((rtree->rt_flags & RT_INSERT_INPROG) == 0,
782 root = vm_radix_getroot(rtree);
785 vm_radix_setroot(rtree, NULL);
795 vm_radix_replace(struct vm_radix *rtree, vm_page_t newpage)
803 rnode = vm_radix_getroot(rtree);
811 rtree->rt_root = (uintptr_t)newpage | VM_RADIX_ISLEAF;