svn commit: r321513 - in stable/11/sys: sys vm
Konstantin Belousov
kib at FreeBSD.org
Wed Jul 26 06:52:47 UTC 2017
Author: kib
Date: Wed Jul 26 06:52:45 2017
New Revision: 321513
URL: https://svnweb.freebsd.org/changeset/base/321513
Log:
MFC r321247:
Add pctrie_init() and vm_radix_init() to initialize generic pctrie and
vm_radix trie.
Modified:
stable/11/sys/sys/_pctrie.h
stable/11/sys/sys/pctrie.h
stable/11/sys/vm/_vm_radix.h
stable/11/sys/vm/vm_object.c
stable/11/sys/vm/vm_radix.c
stable/11/sys/vm/vm_radix.h
Directory Properties:
stable/11/ (props changed)
Modified: stable/11/sys/sys/_pctrie.h
==============================================================================
--- stable/11/sys/sys/_pctrie.h Wed Jul 26 06:42:01 2017 (r321512)
+++ stable/11/sys/sys/_pctrie.h Wed Jul 26 06:52:45 2017 (r321513)
@@ -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_ */
Modified: stable/11/sys/sys/pctrie.h
==============================================================================
--- stable/11/sys/sys/pctrie.h Wed Jul 26 06:42:01 2017 (r321512)
+++ stable/11/sys/sys/pctrie.h Wed Jul 26 06:52:45 2017 (r321513)
@@ -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_ */
Modified: stable/11/sys/vm/_vm_radix.h
==============================================================================
--- stable/11/sys/vm/_vm_radix.h Wed Jul 26 06:42:01 2017 (r321512)
+++ stable/11/sys/vm/_vm_radix.h Wed Jul 26 06:52:45 2017 (r321513)
@@ -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_ */
Modified: stable/11/sys/vm/vm_object.c
==============================================================================
--- stable/11/sys/vm/vm_object.c Wed Jul 26 06:42:01 2017 (r321512)
+++ stable/11/sys/vm/vm_object.c Wed Jul 26 06:52:45 2017 (r321513)
@@ -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
Modified: stable/11/sys/vm/vm_radix.c
==============================================================================
--- stable/11/sys/vm/vm_radix.c Wed Jul 26 06:42:01 2017 (r321512)
+++ stable/11/sys/vm/vm_radix.c Wed Jul 26 06:52:45 2017 (r321513)
@@ -310,7 +310,7 @@ SYSINIT(vm_radix_reserve_kva, SI_SUB_KMEM, SI_ORDER_TH
* Initialize the UMA slab zone.
*/
void
-vm_radix_init(void)
+vm_radix_zinit(void)
{
vm_radix_node_zone = uma_zcreate("RADIX NODE",
Modified: stable/11/sys/vm/vm_radix.h
==============================================================================
--- stable/11/sys/vm/vm_radix.h Wed Jul 26 06:42:01 2017 (r321512)
+++ stable/11/sys/vm/vm_radix.h Wed Jul 26 06:52:45 2017 (r321513)
@@ -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, v
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_ */
More information about the svn-src-all
mailing list