| /src/sys/vm/ |
| H A D | vm_radix.h | 48 vm_radix_init(struct vm_radix *rtree) in vm_radix_init() argument 50 pctrie_init(&rtree->rt_trie); in vm_radix_init() 54 vm_radix_is_empty(struct vm_radix *rtree) in vm_radix_is_empty() argument 56 return (pctrie_is_empty(&rtree->rt_trie)); in vm_radix_is_empty() 67 vm_radix_insert(struct vm_radix *rtree, vm_page_t page) in vm_radix_insert() argument 69 return (VM_RADIX_PCTRIE_INSERT(&rtree->rt_trie, page)); in vm_radix_insert() 88 vm_radix_lookup(struct vm_radix *rtree, vm_pindex_t index) in vm_radix_lookup() argument 90 return (VM_RADIX_PCTRIE_LOOKUP(&rtree->rt_trie, index)); in vm_radix_lookup() 99 vm_radix_lookup_unlocked(struct vm_radix *rtree, vm_pindex_t index) in vm_radix_lookup_unlocked() argument 101 return (VM_RADIX_PCTRIE_LOOKUP_UNLOCKED(&rtree->rt_trie, index)); in vm_radix_lookup_unlocked() [all …]
|
| H A D | vm_object.c | 181 KASSERT(vm_radix_is_empty(&object->rtree), in vm_object_zdtor() 215 vm_radix_init(&object->rtree); in vm_object_zinit() 278 vm_radix_init(&kernel_object->rtree); in vm_object_init() 331 if (!vm_radix_is_empty(&object->rtree)) in vm_object_set_memattr() 914 vm_radix_reclaim_callback(&object->rtree, in vm_object_terminate_pages()
|
| H A D | vm_object.h | 101 struct vm_radix rtree; /* root of the resident page radix trie*/ member
|
| H A D | vm_page.c | 1517 error = vm_radix_insert(&object->rtree, m); in vm_page_insert_lookup() 1731 mrem = vm_radix_remove(&m->object->rtree, m->pindex); in vm_page_radix_remove() 1764 return (vm_radix_lookup(&object->rtree, pindex)); in vm_page_lookup() 1776 vm_radix_iter_init(pages, &object->rtree); in vm_page_iter_init() 1789 vm_radix_iter_limit_init(pages, &object->rtree, limit); in vm_page_iter_limit_init() 1804 return (vm_radix_lookup_unlocked(&object->rtree, pindex)); in vm_page_lookup_unlocked() 1889 mret = vm_radix_replace(&object->rtree, mnew); in vm_page_replace_hold() 1957 if (vm_radix_insert(&new_object->rtree, m) != 0) { in vm_page_iter_rename() 5282 num_fetched = vm_radix_lookup_range_unlocked(&object->rtree, pindex, in vm_page_grab_pages_unlocked()
|
| /src/contrib/jemalloc/src/ |
| H A D | rtree.c | 12 rtree_new(rtree_t *rtree, base_t *base, bool zeroed) { in rtree_new() argument 15 memset(rtree, 0, sizeof(rtree_t)); /* Clear root. */ in rtree_new() 20 rtree->base = base; in rtree_new() 22 if (malloc_mutex_init(&rtree->init_lock, "rtree", WITNESS_RANK_RTREE, in rtree_new() 31 rtree_node_alloc(tsdn_t *tsdn, rtree_t *rtree, size_t nelms) { in rtree_node_alloc() argument 32 return (rtree_node_elm_t *)base_alloc(tsdn, rtree->base, in rtree_node_alloc() 37 rtree_leaf_alloc(tsdn_t *tsdn, rtree_t *rtree, size_t nelms) { in rtree_leaf_alloc() argument 38 return (rtree_leaf_elm_t *)base_alloc(tsdn, rtree->base, in rtree_leaf_alloc() 43 rtree_node_init(tsdn_t *tsdn, rtree_t *rtree, unsigned level, in rtree_node_init() argument 45 malloc_mutex_lock(tsdn, &rtree->init_lock); in rtree_node_init() [all …]
|
| H A D | emap.c | 15 return rtree_new(&emap->rtree, base, zeroed); in emap_init() 27 rtree_leaf_elm_t *elm1 = rtree_leaf_elm_lookup(tsdn, &emap->rtree, in emap_update_edata_state() 32 rtree_leaf_elm_lookup(tsdn, &emap->rtree, rtree_ctx, in emap_update_edata_state() 36 rtree_leaf_elm_state_update(tsdn, &emap->rtree, elm1, elm2, state); in emap_update_edata_state() 69 rtree_leaf_elm_t *elm = rtree_leaf_elm_lookup(tsdn, &emap->rtree, in emap_try_acquire_edata_neighbor_impl() 77 &emap->rtree, elm, /* dependent */ true); in emap_try_acquire_edata_neighbor_impl() 124 *r_elm_a = rtree_leaf_elm_lookup(tsdn, &emap->rtree, rtree_ctx, in emap_rtree_leaf_elms_lookup() 131 *r_elm_b = rtree_leaf_elm_lookup(tsdn, &emap->rtree, rtree_ctx, in emap_rtree_leaf_elms_lookup() 151 rtree_leaf_elm_write(tsdn, &emap->rtree, elm_a, contents); in emap_rtree_write_acquired() 153 rtree_leaf_elm_write(tsdn, &emap->rtree, elm_b, contents); in emap_rtree_write_acquired() [all …]
|
| /src/contrib/jemalloc/include/jemalloc/internal/ |
| H A D | rtree.h | 128 # error Unsupported rtree height 132 bool rtree_new(rtree_t *rtree, base_t *base, bool zeroed); 134 rtree_leaf_elm_t *rtree_leaf_elm_lookup_hard(tsdn_t *tsdn, rtree_t *rtree, 180 rtree_leaf_elm_bits_read(tsdn_t *tsdn, rtree_t *rtree, in rtree_leaf_elm_bits_read() argument 239 rtree_leaf_elm_read(tsdn_t *tsdn, rtree_t *rtree, rtree_leaf_elm_t *elm, in rtree_leaf_elm_read() argument 242 uintptr_t bits = rtree_leaf_elm_bits_read(tsdn, rtree, elm, dependent); in rtree_leaf_elm_read() 282 rtree_leaf_elm_write_commit(tsdn_t *tsdn, rtree_t *rtree, in rtree_leaf_elm_write_commit() argument 297 rtree_leaf_elm_write(tsdn_t *tsdn, rtree_t *rtree, in rtree_leaf_elm_write() argument 304 rtree_leaf_elm_write_commit(tsdn, rtree, elm, bits, additional); in rtree_leaf_elm_write() 309 rtree_leaf_elm_state_update(tsdn_t *tsdn, rtree_t *rtree, in rtree_leaf_elm_state_update() argument [all …]
|
| H A D | emap.h | 18 rtree_t rtree; member 162 rtree_contents_t contents = rtree_read(tsdn, &emap->rtree, rtree_ctx, in emap_edata_in_transition() 187 rtree_leaf_elm_t *elm = rtree_leaf_elm_lookup(tsdn, &emap->rtree, in emap_edata_is_acquired() 193 rtree_contents_t contents = rtree_leaf_elm_read(tsdn, &emap->rtree, elm, in emap_edata_is_acquired() 229 return rtree_read(tsdn, &emap->rtree, rtree_ctx, (uintptr_t)ptr).edata; in emap_edata_lookup() 238 rtree_metadata_t metadata = rtree_metadata_read(tsdn, &emap->rtree, in emap_alloc_ctx_lookup() 250 rtree_contents_t contents = rtree_read(tsdn, &emap->rtree, rtree_ctx, in emap_full_alloc_ctx_lookup() 268 bool err = rtree_read_independent(tsdn, &emap->rtree, rtree_ctx, in emap_full_alloc_ctx_try_lookup() 290 bool err = rtree_metadata_try_read_fast(tsd_tsdn(tsd), &emap->rtree, in emap_alloc_ctx_try_lookup_fast() 335 &emap->rtree, rtree_ctx, (uintptr_t)ptr, in emap_edata_lookup_batch() [all …]
|
| /src/sys/kern/ |
| H A D | kern_kexec.c | 247 vm_radix_remove(&new_segments->rtree, otheridx); in kern_kexec_load() 248 vm_radix_remove(&new_segments->rtree, i); in kern_kexec_load() 251 vm_radix_insert(&new_segments->rtree, curpg); in kern_kexec_load() 252 vm_radix_insert(&new_segments->rtree, otherpg); in kern_kexec_load() 260 vm_radix_lookup(&new_segments->rtree, in kern_kexec_load() 265 vm_radix_lookup(&new_segments->rtree, in kern_kexec_load()
|
| H A D | kern_proc.c | 2568 m = vm_radix_lookup_ge(&tobj->rtree, pindex); in kern_proc_vmmap_resident()
|
| /src/contrib/sqlite3/tea/ |
| H A D | teaish.tcl | 11 all-flag-enables {fts3 fts4 fts5 rtree geopoly} 97 rtree => {Enable the RTREE extension} 234 geopoly -DSQLITE_ENABLE_GEOPOLY {proj-opt-set rtree} 235 rtree -DSQLITE_ENABLE_RTREE {}
|
| /src/lib/libc/stdlib/malloc/jemalloc/ |
| H A D | Makefile.inc | 6 prof.c rtree.c safety_check.c sc.c stats.c sz.c tcache.c \
|
| /src/sys/arm64/arm64/ |
| H A D | kexec_support.c | 91 vm_radix_iter_init(&pct_i, &image->map_obj->rtree); in kexec_reboot_bottom()
|
| /src/sys/amd64/amd64/ |
| H A D | kexec_support.c | 164 vm_radix_iter_init(&pct_iter, &image->map_obj->rtree); in kexec_load_md()
|
| /src/contrib/sqlite3/autosetup/ |
| H A D | sqlite-config.tcl | 68 all-flag-enables {fts4 fts5 rtree geopoly session} 213 rtree => {Enable the RTREE extension} 762 geopoly -DSQLITE_ENABLE_GEOPOLY {proj-opt-set rtree} 763 rtree -DSQLITE_ENABLE_RTREE {}
|
| /src/contrib/jemalloc/ |
| H A D | Makefile.in | 147 $(srcroot)src/rtree.c \ 268 $(srcroot)test/unit/rtree.c \
|
| H A D | ChangeLog | 494 - Extensively optimize rtree via various methods: 495 + Add multiple layers of rtree lookup caching, since rtree lookups are now 497 + Determine rtree layout at compile time. (@jasone) 499 + Embed the root node in the top-level rtree data structure, thus avoiding 720 - Streamline fast paths of rtree operations. (@jasone) 1019 - Refactor rtree (radix tree for chunk lookups) to be lock-free, and make
|