Add pctrie_init() and vm_radix_init() to initialize generic pctrie and
vm_radix trie. Existing vm_radix_init() function is renamed to vm_radix_zinit(). Inlines moved out of the _ headers. Reviewed by: alc, markj (previous version) Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D11661
This commit is contained in:
parent
2d832b2211
commit
f16b72a2cc
@ -38,14 +38,4 @@ struct pctrie {
|
||||
uintptr_t pt_root;
|
||||
};
|
||||
|
||||
#ifdef _KERNEL
|
||||
|
||||
static __inline boolean_t
|
||||
pctrie_is_empty(struct pctrie *ptree)
|
||||
{
|
||||
|
||||
return (ptree->pt_root == 0);
|
||||
}
|
||||
|
||||
#endif /* _KERNEL */
|
||||
#endif /* !__SYS_PCTRIE_H_ */
|
||||
|
@ -119,5 +119,19 @@ void pctrie_remove(struct pctrie *ptree, uint64_t key,
|
||||
size_t pctrie_node_size(void);
|
||||
int pctrie_zone_init(void *mem, int size, int flags);
|
||||
|
||||
static __inline void
|
||||
pctrie_init(struct pctrie *ptree)
|
||||
{
|
||||
|
||||
ptree->pt_root = 0;
|
||||
}
|
||||
|
||||
static __inline boolean_t
|
||||
pctrie_is_empty(struct pctrie *ptree)
|
||||
{
|
||||
|
||||
return (ptree->pt_root == 0);
|
||||
}
|
||||
|
||||
#endif /* _KERNEL */
|
||||
#endif /* !_SYS_PCTRIE_H_ */
|
||||
|
@ -38,14 +38,4 @@ struct vm_radix {
|
||||
uintptr_t rt_root;
|
||||
};
|
||||
|
||||
#ifdef _KERNEL
|
||||
|
||||
static __inline boolean_t
|
||||
vm_radix_is_empty(struct vm_radix *rtree)
|
||||
{
|
||||
|
||||
return (rtree->rt_root == 0);
|
||||
}
|
||||
|
||||
#endif /* _KERNEL */
|
||||
#endif /* !__VM_RADIX_H_ */
|
||||
|
@ -204,7 +204,7 @@ vm_object_zinit(void *mem, int size, int flags)
|
||||
/* These are true for any object that has been freed */
|
||||
object->type = OBJT_DEAD;
|
||||
object->ref_count = 0;
|
||||
object->rtree.rt_root = 0;
|
||||
vm_radix_init(&object->rtree);
|
||||
object->paging_in_progress = 0;
|
||||
object->resident_page_count = 0;
|
||||
object->shadow_count = 0;
|
||||
@ -301,7 +301,7 @@ vm_object_init(void)
|
||||
#endif
|
||||
vm_object_zinit, NULL, UMA_ALIGN_PTR, UMA_ZONE_NOFREE);
|
||||
|
||||
vm_radix_init();
|
||||
vm_radix_zinit();
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -310,7 +310,7 @@ SYSINIT(vm_radix_reserve_kva, SI_SUB_KMEM, SI_ORDER_THIRD,
|
||||
* Initialize the UMA slab zone.
|
||||
*/
|
||||
void
|
||||
vm_radix_init(void)
|
||||
vm_radix_zinit(void)
|
||||
{
|
||||
|
||||
vm_radix_node_zone = uma_zcreate("RADIX NODE",
|
||||
|
@ -35,7 +35,6 @@
|
||||
|
||||
#ifdef _KERNEL
|
||||
|
||||
void vm_radix_init(void);
|
||||
int vm_radix_insert(struct vm_radix *rtree, vm_page_t page);
|
||||
boolean_t vm_radix_is_singleton(struct vm_radix *rtree);
|
||||
vm_page_t vm_radix_lookup(struct vm_radix *rtree, vm_pindex_t index);
|
||||
@ -44,6 +43,21 @@ vm_page_t vm_radix_lookup_le(struct vm_radix *rtree, vm_pindex_t index);
|
||||
void vm_radix_reclaim_allnodes(struct vm_radix *rtree);
|
||||
vm_page_t vm_radix_remove(struct vm_radix *rtree, vm_pindex_t index);
|
||||
vm_page_t vm_radix_replace(struct vm_radix *rtree, vm_page_t newpage);
|
||||
void vm_radix_zinit(void);
|
||||
|
||||
static __inline void
|
||||
vm_radix_init(struct vm_radix *rtree)
|
||||
{
|
||||
|
||||
rtree->rt_root = 0;
|
||||
}
|
||||
|
||||
static __inline boolean_t
|
||||
vm_radix_is_empty(struct vm_radix *rtree)
|
||||
{
|
||||
|
||||
return (rtree->rt_root == 0);
|
||||
}
|
||||
|
||||
#endif /* _KERNEL */
|
||||
#endif /* !_VM_RADIX_H_ */
|
||||
|
Loading…
Reference in New Issue
Block a user