The branch main has been updated by glebius:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=24e1c6ae7d3f7731a0884a62e9d5273e5ca1335a

commit 24e1c6ae7d3f7731a0884a62e9d5273e5ca1335a
Author:     Gleb Smirnoff <[email protected]>
AuthorDate: 2022-01-03 18:15:22 +0000
Commit:     Gleb Smirnoff <[email protected]>
CommitDate: 2022-01-03 18:15:22 +0000

    domains: init with standard SYSINIT(9) or VNET_SYSINIT()
    
    There left only three modules that used dom_init().  And netipsec
    was the last one to use dom_destroy().
    
    Differential revision:  https://reviews.freebsd.org/D33540
---
 share/man/man9/domain.9                        |  2 --
 sys/kern/uipc_debug.c                          |  1 -
 sys/kern/uipc_domain.c                         |  4 ----
 sys/kern/uipc_usrreq.c                         | 10 ++--------
 sys/ofed/drivers/infiniband/ulp/sdp/sdp_main.c |  4 ++--
 sys/sys/domain.h                               |  4 ----
 6 files changed, 4 insertions(+), 21 deletions(-)

diff --git a/share/man/man9/domain.9 b/share/man/man9/domain.9
index 867cfa104718..2fc0fd328392 100644
--- a/share/man/man9/domain.9
+++ b/share/man/man9/domain.9
@@ -69,8 +69,6 @@ struct domain {
        int     dom_family;             /* AF_xxx */
        char    *dom_name;
        int     dom_flags;
-       void    (*dom_init)             /* initialize domain data structures */
-               (void);
        int     (*dom_probe)(void);     /* check for support (optional) */
        void    (*dom_destroy)          /* cleanup structures / state */
                (void);
diff --git a/sys/kern/uipc_debug.c b/sys/kern/uipc_debug.c
index 86c3199a3c26..2f60bb64ed3b 100644
--- a/sys/kern/uipc_debug.c
+++ b/sys/kern/uipc_debug.c
@@ -251,7 +251,6 @@ db_print_domain(struct domain *d, const char *domain_name, 
int indent)
        db_printf("dom_name: %s\n", d->dom_name);
 
        db_print_indent(indent);
-       db_printf("dom_init: %p   ", d->dom_init);
        db_printf("dom_externalize: %p   ", d->dom_externalize);
        db_printf("dom_dispose: %p\n", d->dom_dispose);
 
diff --git a/sys/kern/uipc_domain.c b/sys/kern/uipc_domain.c
index da21ed29a716..832db9f6e667 100644
--- a/sys/kern/uipc_domain.c
+++ b/sys/kern/uipc_domain.c
@@ -188,8 +188,6 @@ domain_init(void *arg)
                return;
        KASSERT((flags & DOMF_INITED) == 0 || !IS_DEFAULT_VNET(curvnet),
            ("Premature initialization of domain in non-default vnet"));
-       if (dp->dom_init)
-               (*dp->dom_init)();
        for (pr = dp->dom_protosw; pr < dp->dom_protoswNPROTOSW; pr++) {
                /*
                 * Note that with VIMAGE enabled, domain_init() will be
@@ -237,8 +235,6 @@ vnet_domain_uninit(void *arg)
 
        if ((atomic_load_acq_int(&dp->dom_flags) & DOMF_SUPPORTED) == 0)
                return;
-       if (dp->dom_destroy)
-               (*dp->dom_destroy)();
 }
 #endif
 
diff --git a/sys/kern/uipc_usrreq.c b/sys/kern/uipc_usrreq.c
index ceeb4741e3f4..89d4198652c3 100644
--- a/sys/kern/uipc_usrreq.c
+++ b/sys/kern/uipc_usrreq.c
@@ -303,7 +303,6 @@ static void unp_gc(__unused void *, int);
 static void    unp_scan(struct mbuf *, void (*)(struct filedescent **, int));
 static void    unp_discard(struct file *);
 static void    unp_freerights(struct filedescent **, int);
-static void    unp_init(void);
 static int     unp_internalize(struct mbuf **, struct thread *);
 static void    unp_internalize_fp(struct file *);
 static int     unp_externalize(struct mbuf *, struct mbuf **, int);
@@ -459,7 +458,6 @@ static struct protosw localsw[] = {
 static struct domain localdomain = {
        .dom_family =           AF_LOCAL,
        .dom_name =             "local",
-       .dom_init =             unp_init,
        .dom_externalize =      unp_externalize,
        .dom_dispose =          unp_dispose,
        .dom_protosw =          localsw,
@@ -2148,15 +2146,10 @@ unp_zdtor(void *mem, int size __unused, void *arg 
__unused)
 #endif
 
 static void
-unp_init(void)
+unp_init(void *arg __unused)
 {
        uma_dtor dtor;
 
-#ifdef VIMAGE
-       if (!IS_DEFAULT_VNET(curvnet))
-               return;
-#endif
-
 #ifdef INVARIANTS
        dtor = unp_zdtor;
 #else
@@ -2177,6 +2170,7 @@ unp_init(void)
        UNP_LINK_LOCK_INIT();
        UNP_DEFERRED_LOCK_INIT();
 }
+SYSINIT(unp_init, SI_SUB_PROTO_DOMAIN, SI_ORDER_SECOND, unp_init, NULL);
 
 static void
 unp_internalize_cleanup_rights(struct mbuf *control)
diff --git a/sys/ofed/drivers/infiniband/ulp/sdp/sdp_main.c 
b/sys/ofed/drivers/infiniband/ulp/sdp/sdp_main.c
index 973372b21761..c822276185cb 100644
--- a/sys/ofed/drivers/infiniband/ulp/sdp/sdp_main.c
+++ b/sys/ofed/drivers/infiniband/ulp/sdp/sdp_main.c
@@ -1907,7 +1907,7 @@ sdp_zone_change(void *tag)
 }
 
 static void
-sdp_init(void)
+sdp_init(void *arg __unused)
 {
 
        LIST_INIT(&sdp_list);
@@ -1919,6 +1919,7 @@ sdp_init(void)
        rx_comp_wq = create_singlethread_workqueue("rx_comp_wq");
        ib_register_client(&sdp_client);
 }
+SYSINIT(sdp_init, SI_SUB_PROTO_DOMAIN, SI_ORDER_SECOND, sdp_init, NULL);
 
 extern struct domain sdpdomain;
 
@@ -1966,7 +1967,6 @@ struct protosw sdpsw[] = {
 struct domain sdpdomain = {
        .dom_family =           AF_INET_SDP,
        .dom_name =             "SDP",
-       .dom_init =             sdp_init,
        .dom_protosw =          sdpsw,
        .dom_protoswNPROTOSW =  &sdpsw[sizeof(sdpsw)/sizeof(sdpsw[0])],
 };
diff --git a/sys/sys/domain.h b/sys/sys/domain.h
index dc09c9786443..c9defe8e4341 100644
--- a/sys/sys/domain.h
+++ b/sys/sys/domain.h
@@ -51,11 +51,7 @@ struct domain {
        int     dom_family;             /* AF_xxx */
        char    *dom_name;
        int     dom_flags;
-       void    (*dom_init)             /* initialize domain data structures */
-               (void);
        int     (*dom_probe)(void);     /* check for support (optional) */
-       void    (*dom_destroy)          /* cleanup structures / state */
-               (void);
        int     (*dom_externalize)      /* externalize access rights */
                (struct mbuf *, struct mbuf **, int);
        void    (*dom_dispose)          /* dispose of internalized rights */

Reply via email to