Author: kib
Date: Wed Jul 19 20:52:47 2017
New Revision: 321247
URL: https://svnweb.freebsd.org/changeset/base/321247

Log:
  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

Modified:
  head/sys/sys/_pctrie.h
  head/sys/sys/pctrie.h
  head/sys/vm/_vm_radix.h
  head/sys/vm/vm_object.c
  head/sys/vm/vm_radix.c
  head/sys/vm/vm_radix.h

Modified: head/sys/sys/_pctrie.h
==============================================================================
--- head/sys/sys/_pctrie.h      Wed Jul 19 20:49:04 2017        (r321246)
+++ head/sys/sys/_pctrie.h      Wed Jul 19 20:52:47 2017        (r321247)
@@ -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: head/sys/sys/pctrie.h
==============================================================================
--- head/sys/sys/pctrie.h       Wed Jul 19 20:49:04 2017        (r321246)
+++ head/sys/sys/pctrie.h       Wed Jul 19 20:52:47 2017        (r321247)
@@ -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: head/sys/vm/_vm_radix.h
==============================================================================
--- head/sys/vm/_vm_radix.h     Wed Jul 19 20:49:04 2017        (r321246)
+++ head/sys/vm/_vm_radix.h     Wed Jul 19 20:52:47 2017        (r321247)
@@ -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: head/sys/vm/vm_object.c
==============================================================================
--- head/sys/vm/vm_object.c     Wed Jul 19 20:49:04 2017        (r321246)
+++ head/sys/vm/vm_object.c     Wed Jul 19 20:52:47 2017        (r321247)
@@ -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: head/sys/vm/vm_radix.c
==============================================================================
--- head/sys/vm/vm_radix.c      Wed Jul 19 20:49:04 2017        (r321246)
+++ head/sys/vm/vm_radix.c      Wed Jul 19 20:52:47 2017        (r321247)
@@ -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: head/sys/vm/vm_radix.h
==============================================================================
--- head/sys/vm/vm_radix.h      Wed Jul 19 20:49:04 2017        (r321246)
+++ head/sys/vm/vm_radix.h      Wed Jul 19 20:52:47 2017        (r321247)
@@ -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_ */
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to