now that all the pools set an ipl we dont have to support optional ipls.

the ioff argument is and has been unused for many years, so this
replaces it with an ipl argument. cos the ipl is set on init, we
no longer need pool_setipl.

most of semantic changes in diff has been done with coccinelle using
this spatch:

        @ipl@
        expression pp;
        expression ipl;
        expression s, a, o, f, m, p;
        @@
        -pool_init(pp, s, a, o, f, m, p);
        -pool_setipl(pp, ipl);
        +pool_init(pp, s, a, ipl, f, m, p);

however, cos coccinelle sucks at formatting code, i fixed that by
hand.

i did the manpage and subr_pool.c changes myself. the splasserts
in the get and put paths get a little bit cheaper now.

ok?

Index: share/man/man9/pool.9
===================================================================
RCS file: /cvs/src/share/man/man9/pool.9,v
retrieving revision 1.51
diff -u -p -r1.51 pool.9
--- share/man/man9/pool.9       23 Nov 2015 17:53:57 -0000      1.51
+++ share/man/man9/pool.9       6 Sep 2016 00:35:33 -0000
@@ -37,7 +37,6 @@
 .Nm pool_get ,
 .Nm pool_put ,
 .Nm pool_prime ,
-.Nm pool_setipl ,
 .Nm pool_sethiwat ,
 .Nm pool_setlowat ,
 .Nm pool_sethardlimit
@@ -50,7 +49,7 @@
 .Fa "struct pool *pool"
 .Fa "size_t size"
 .Fa "u_int align"
-.Fa "u_int align_offset"
+.Fa "int ipl"
 .Fa "int flags"
 .Fa "const char *wmesg"
 .Fa "struct pool_allocator *palloc"
@@ -66,8 +65,6 @@
 .Ft int
 .Fn pool_prime "struct pool *pp" "int nitems"
 .Ft void
-.Fn pool_setipl "struct pool *pp" "int ipl"
-.Ft void
 .Fn pool_sethiwat "struct pool *pp" "int n"
 .Ft void
 .Fn pool_setlowat "struct pool *pp" "int n"
@@ -112,10 +109,12 @@ Specifies the memory address alignment o
 This argument must be a power of two.
 If zero,
 the alignment defaults to an architecture-specific natural alignment.
-.It Fa align_offset
-The offset within an item to which the
-.Fa align
-parameter applies.
+.It Fa ipl
+The interrupt protection level used to protect the pool's internals,
+and at what level at which the pool can be safely used.
+See
+.Xr spl 9
+for a list of the IPLs.
 .It Fa flags
 Specifies various flags set on the pool at creation time.
 .It Fa wmesg
@@ -266,22 +265,6 @@ Unlike
 .Fn pool_prime ,
 this function does not allocate the necessary memory up-front.
 .El
-.Ss SETTING THE PROTECTION LEVEL
-The
-.Fn pool_setipl
-function is used to specify the interrupt protection level at which the pool
-can be safely used.
-.Pp
-.Fn pool_setipl
-.Bl -tag -offset indent -width "flags"
-.It Fa pp
-The handle identifying the pool resource instance.
-.It Fa ipl
-The interrupt protection level used to protect the pool's internals.
-See
-.Xr spl 9
-for a list of the IPLs.
-.El
 .Ss SETTING HARD LIMITS
 The function
 .Fn pool_sethardlimit
@@ -299,11 +282,6 @@ already exceeds the requested hard limit
 .Ss POTENTIAL PITFALLS
 Note that undefined behaviour results when mixing the storage providing
 methods supported by the pool resource routines.
-.Pp
-The pool resource code uses a per-pool lock to protect its internal state.
-If any pool functions are called in an interrupt context,
-the caller must block all interrupts that might cause the
-code to be reentered.
 .Ss DEBUGGING
 To debug a misbehaving pool, a kernel can be compiled with the
 .Dv MALLOC_DEBUG
Index: sys/sys/pool.h
===================================================================
RCS file: /cvs/src/sys/sys/pool.h,v
retrieving revision 1.59
diff -u -p -r1.59 pool.h
--- sys/sys/pool.h      21 Apr 2016 04:09:28 -0000      1.59
+++ sys/sys/pool.h      6 Sep 2016 00:35:41 -0000
@@ -173,10 +173,9 @@ struct pool_request {
        void *pr_item;
 };
 
-void           pool_init(struct pool *, size_t, u_int, u_int, int,
+void           pool_init(struct pool *, size_t, u_int, int, int,
                    const char *, struct pool_allocator *);
 void           pool_destroy(struct pool *);
-void           pool_setipl(struct pool *, int);
 void           pool_setlowat(struct pool *, int);
 void           pool_sethiwat(struct pool *, int);
 int            pool_sethardlimit(struct pool *, u_int, const char *, int);
Index: sys/kern/subr_pool.c
===================================================================
RCS file: /cvs/src/sys/kern/subr_pool.c,v
retrieving revision 1.194
diff -u -p -r1.194 subr_pool.c
--- sys/kern/subr_pool.c        15 Jan 2016 11:21:58 -0000      1.194
+++ sys/kern/subr_pool.c        6 Sep 2016 00:35:36 -0000
@@ -218,14 +218,13 @@ pr_find_pagehead(struct pool *pp, void *
  * static pools that must be initialized before malloc() is available.
  */
 void
-pool_init(struct pool *pp, size_t size, u_int align, u_int ioff, int flags,
+pool_init(struct pool *pp, size_t size, u_int align, int ipl, int flags,
     const char *wchan, struct pool_allocator *palloc)
 {
        int off = 0, space;
        unsigned int pgsize = PAGE_SIZE, items;
 #ifdef DIAGNOSTIC
        struct pool *iter;
-       KASSERT(ioff == 0);
 #endif
 
        if (align == 0)
@@ -311,15 +310,14 @@ pool_init(struct pool *pp, size_t size, 
        pp->pr_hiwat = 0;
        pp->pr_nidle = 0;
 
-       pp->pr_ipl = -1;
-       mtx_init(&pp->pr_mtx, IPL_NONE);
-       mtx_init(&pp->pr_requests_mtx, IPL_NONE);
+       pp->pr_ipl = ipl;
+       mtx_init(&pp->pr_mtx, pp->pr_ipl);
+       mtx_init(&pp->pr_requests_mtx, pp->pr_ipl);
        TAILQ_INIT(&pp->pr_requests);
 
        if (phpool.pr_size == 0) {
-               pool_init(&phpool, sizeof(struct pool_item_header), 0, 0,
-                   0, "phpool", NULL);
-               pool_setipl(&phpool, IPL_HIGH);
+               pool_init(&phpool, sizeof(struct pool_item_header), 0,
+                   IPL_HIGH, 0, "phpool", NULL);
 
                /* make sure phpool wont "recurse" */
                KASSERT(POOL_INPGHDR(&phpool));
@@ -346,14 +344,6 @@ pool_init(struct pool *pp, size_t size, 
        rw_exit_write(&pool_lock);
 }
 
-void
-pool_setipl(struct pool *pp, int ipl)
-{
-       pp->pr_ipl = ipl;
-       mtx_init(&pp->pr_mtx, ipl);
-       mtx_init(&pp->pr_requests_mtx, ipl);
-}
-
 /*
  * Decommission a pool resource.
  */
@@ -431,7 +421,6 @@ pool_get(struct pool *pp, int flags)
 
        KASSERT(flags & (PR_WAITOK | PR_NOWAIT));
 
-
        mtx_enter(&pp->pr_mtx);
        if (pp->pr_nout >= pp->pr_hardlimit) {
                if (ISSET(flags, PR_NOWAIT|PR_LIMITFAIL))
@@ -447,8 +436,8 @@ pool_get(struct pool *pp, int flags)
 
        if (v == NULL) {
                struct pool_get_memory mem = {
-                   MUTEX_INITIALIZER((pp->pr_ipl == -1) ?
-                   IPL_NONE : pp->pr_ipl), NULL };
+                   MUTEX_INITIALIZER(pp->pr_ipl),
+                   NULL };
                struct pool_request pr;
 
                pool_request_init(&pr, pool_get_done, &mem);
@@ -550,8 +539,7 @@ pool_do_get(struct pool *pp, int flags, 
 
        MUTEX_ASSERT_LOCKED(&pp->pr_mtx);
 
-       if (pp->pr_ipl != -1)
-               splassert(pp->pr_ipl);
+       splassert(pp->pr_ipl);
 
        /*
         * Account for this item now to avoid races if we need to give up
@@ -643,8 +631,7 @@ pool_put(struct pool *pp, void *v)
 
        mtx_enter(&pp->pr_mtx);
 
-       if (pp->pr_ipl != -1)
-               splassert(pp->pr_ipl);
+       splassert(pp->pr_ipl);
 
        ph = pr_find_pagehead(pp, v);
 
@@ -1325,8 +1312,7 @@ sysctl_dopool(int *name, u_int namelen, 
        case KERN_POOL_POOL:
                memset(&pi, 0, sizeof(pi));
 
-               if (pp->pr_ipl != -1)
-                       mtx_enter(&pp->pr_mtx);
+               mtx_enter(&pp->pr_mtx);
                pi.pr_size = pp->pr_size;
                pi.pr_pgsize = pp->pr_pgsize;
                pi.pr_itemsperpage = pp->pr_itemsperpage;
@@ -1343,8 +1329,7 @@ sysctl_dopool(int *name, u_int namelen, 
                pi.pr_npagefree = pp->pr_npagefree;
                pi.pr_hiwat = pp->pr_hiwat;
                pi.pr_nidle = pp->pr_nidle;
-               if (pp->pr_ipl != -1)
-                       mtx_leave(&pp->pr_mtx);
+               mtx_leave(&pp->pr_mtx);
 
                rv = sysctl_rdstruct(oldp, oldlenp, NULL, &pi, sizeof(pi));
                break;
Index: sys/arch/alpha/alpha/pmap.c
===================================================================
RCS file: /cvs/src/sys/arch/alpha/alpha/pmap.c,v
retrieving revision 1.83
diff -u -p -r1.83 pmap.c
--- sys/arch/alpha/alpha/pmap.c 7 Jun 2016 06:23:19 -0000       1.83
+++ sys/arch/alpha/alpha/pmap.c 6 Sep 2016 00:35:33 -0000
@@ -838,15 +838,12 @@ pmap_bootstrap(paddr_t ptaddr, u_int max
         * Initialize the pmap pools and list.
         */
        pmap_ncpuids = ncpuids;
-       pool_init(&pmap_pmap_pool, PMAP_SIZEOF(pmap_ncpuids), 0, 0, 0,
+       pool_init(&pmap_pmap_pool, PMAP_SIZEOF(pmap_ncpuids), 0, IPL_NONE, 0,
            "pmappl", &pool_allocator_single);
-       pool_setipl(&pmap_pmap_pool, IPL_NONE);
-       pool_init(&pmap_l1pt_pool, PAGE_SIZE, 0, 0, 0, "l1ptpl",
-           &pmap_l1pt_allocator);
-       pool_setipl(&pmap_l1pt_pool, IPL_VM);
-       pool_init(&pmap_pv_pool, sizeof(struct pv_entry), 0, 0, 0, "pvpl",
-           &pmap_pv_page_allocator);
-       pool_setipl(&pmap_pv_pool, IPL_VM);
+       pool_init(&pmap_l1pt_pool, PAGE_SIZE, 0, IPL_VM, 0,
+           "l1ptpl", &pmap_l1pt_allocator);
+       pool_init(&pmap_pv_pool, sizeof(struct pv_entry), 0, IPL_VM, 0,
+           "pvpl", &pmap_pv_page_allocator);
 
        TAILQ_INIT(&pmap_all_pmaps);
 
Index: sys/arch/amd64/amd64/aesni.c
===================================================================
RCS file: /cvs/src/sys/arch/amd64/amd64/aesni.c,v
retrieving revision 1.38
diff -u -p -r1.38 aesni.c
--- sys/arch/amd64/amd64/aesni.c        18 Apr 2016 21:15:18 -0000      1.38
+++ sys/arch/amd64/amd64/aesni.c        6 Sep 2016 00:35:33 -0000
@@ -164,9 +164,8 @@ aesni_setup(void)
                return;
        }
 
-       pool_init(&aesnipl, sizeof(struct aesni_session), 16, 0, 0,
+       pool_init(&aesnipl, sizeof(struct aesni_session), 16, IPL_VM, 0,
            "aesni", NULL);
-       pool_setipl(&aesnipl, IPL_VM);
        pool_setlowat(&aesnipl, 2);
 
        mtx_init(&aesni_sc->sc_mtx, IPL_VM);
Index: sys/arch/amd64/amd64/pmap.c
===================================================================
RCS file: /cvs/src/sys/arch/amd64/amd64/pmap.c,v
retrieving revision 1.99
diff -u -p -r1.99 pmap.c
--- sys/arch/amd64/amd64/pmap.c 7 Jun 2016 06:23:19 -0000       1.99
+++ sys/arch/amd64/amd64/pmap.c 6 Sep 2016 00:35:33 -0000
@@ -737,20 +737,18 @@ pmap_bootstrap(paddr_t first_avail, padd
         * initialize the pmap pool.
         */
 
-       pool_init(&pmap_pmap_pool, sizeof(struct pmap), 0, 0, 0,
+       pool_init(&pmap_pmap_pool, sizeof(struct pmap), 0, IPL_NONE, 0,
            "pmappl", NULL);
-       pool_setipl(&pmap_pmap_pool, IPL_NONE);
-       pool_init(&pmap_pv_pool, sizeof(struct pv_entry), 0, 0, 0, "pvpl",
-           &pool_allocator_single);
-       pool_setipl(&pmap_pv_pool, IPL_VM);
+       pool_init(&pmap_pv_pool, sizeof(struct pv_entry), 0, IPL_VM, 0,
+           "pvpl", &pool_allocator_single);
        pool_sethiwat(&pmap_pv_pool, 32 * 1024);
 
        /*
         * initialize the PDE pool.
         */
 
-       pool_init(&pmap_pdp_pool, PAGE_SIZE, 0, 0, PR_WAITOK, "pdppl", NULL);
-       pool_setipl(&pmap_pdp_pool, IPL_NONE);
+       pool_init(&pmap_pdp_pool, PAGE_SIZE, 0, IPL_NONE, PR_WAITOK,
+           "pdppl", NULL);
 
        /*
         * ensure the TLB is sync'd with reality by flushing it...
Index: sys/arch/amd64/amd64/vmm.c
===================================================================
RCS file: /cvs/src/sys/arch/amd64/amd64/vmm.c,v
retrieving revision 1.77
diff -u -p -r1.77 vmm.c
--- sys/arch/amd64/amd64/vmm.c  4 Sep 2016 08:49:18 -0000       1.77
+++ sys/arch/amd64/amd64/vmm.c  6 Sep 2016 00:35:33 -0000
@@ -332,12 +332,10 @@ vmm_attach(struct device *parent, struct
                sc->mode = VMM_MODE_UNKNOWN;
        }
 
-       pool_init(&vm_pool, sizeof(struct vm), 0, 0, PR_WAITOK, "vmpool",
-           NULL);
-       pool_setipl(&vm_pool, IPL_NONE);
-       pool_init(&vcpu_pool, sizeof(struct vcpu), 0, 0, PR_WAITOK, "vcpupl",
-           NULL);
-       pool_setipl(&vcpu_pool, IPL_NONE);
+       pool_init(&vm_pool, sizeof(struct vm), 0, IPL_NONE, PR_WAITOK,
+           "vmpool", NULL);
+       pool_init(&vcpu_pool, sizeof(struct vcpu), 0, IPL_NONE, PR_WAITOK,
+           "vcpupl", NULL);
 
        vmm_softc = sc;
 }
Index: sys/arch/arm/arm/pmap.c
===================================================================
RCS file: /cvs/src/sys/arch/arm/arm/pmap.c,v
retrieving revision 1.64
diff -u -p -r1.64 pmap.c
--- sys/arch/arm/arm/pmap.c     7 Jun 2016 06:23:19 -0000       1.64
+++ sys/arch/arm/arm/pmap.c     6 Sep 2016 00:35:33 -0000
@@ -3729,30 +3729,14 @@ pmap_bootstrap(pd_entry_t *kernel_l1pt, 
        /*
         * Initialize the pmap pool and cache
         */
-       pool_init(&pmap_pmap_pool, sizeof(struct pmap), 0, 0, 0,
+       pool_init(&pmap_pmap_pool, sizeof(struct pmap), 0, IPL_NONE, 0,
            "pmappl", &pool_allocator_single);
-       pool_setipl(&pmap_pmap_pool, IPL_NONE);
-
-       /*
-        * Initialize the pv pool.
-        */
-       pool_init(&pmap_pv_pool, sizeof(struct pv_entry), 0, 0, 0, "pvepl",
-           &pmap_bootstrap_pv_allocator);
-       pool_setipl(&pmap_pv_pool, IPL_VM);
-
-       /*
-        * Initialize the L2 dtable pool and cache.
-        */
-       pool_init(&pmap_l2dtable_pool, sizeof(struct l2_dtable), 0, 0, 0,
+       pool_init(&pmap_pv_pool, sizeof(struct pv_entry), 0, IPL_VM, 0,
+           "pvepl", &pmap_bootstrap_pv_allocator);
+       pool_init(&pmap_l2dtable_pool, sizeof(struct l2_dtable), 0, IPL_VM, 0,
            "l2dtblpl", NULL);
-       pool_setipl(&pmap_l2dtable_pool, IPL_VM);
-
-       /*
-        * Initialise the L2 descriptor table pool and cache
-        */
-       pool_init(&pmap_l2ptp_pool, L2_TABLE_SIZE_REAL, L2_TABLE_SIZE_REAL, 0,
-           0, "l2ptppl", &pool_allocator_single);
-       pool_setipl(&pmap_l2ptp_pool, IPL_VM);
+       pool_init(&pmap_l2ptp_pool, L2_TABLE_SIZE_REAL, L2_TABLE_SIZE_REAL,
+           IPL_VM, 0, "l2ptppl", &pool_allocator_single);
 
        cpu_dcache_wbinv_all();
 }
Index: sys/arch/arm/arm/pmap7.c
===================================================================
RCS file: /cvs/src/sys/arch/arm/arm/pmap7.c,v
retrieving revision 1.51
diff -u -p -r1.51 pmap7.c
--- sys/arch/arm/arm/pmap7.c    31 Aug 2016 12:24:12 -0000      1.51
+++ sys/arch/arm/arm/pmap7.c    6 Sep 2016 00:35:33 -0000
@@ -2396,30 +2396,14 @@ pmap_bootstrap(pd_entry_t *kernel_l1pt, 
        /*
         * Initialize the pmap pool.
         */
-       pool_init(&pmap_pmap_pool, sizeof(struct pmap), 0, 0, 0,
+       pool_init(&pmap_pmap_pool, sizeof(struct pmap), 0, IPL_NONE, 0,
            "pmappl", &pool_allocator_single);
-       pool_setipl(&pmap_pmap_pool, IPL_NONE);
-
-       /*
-        * Initialize the pv pool.
-        */
-       pool_init(&pmap_pv_pool, sizeof(struct pv_entry), 0, 0, 0, "pvepl",
-           &pmap_bootstrap_pv_allocator);
-       pool_setipl(&pmap_pv_pool, IPL_VM);
-
-       /*
-        * Initialize the L2 dtable pool.
-        */
-       pool_init(&pmap_l2dtable_pool, sizeof(struct l2_dtable), 0, 0, 0,
+       pool_init(&pmap_pv_pool, sizeof(struct pv_entry), 0, IPL_VM, 0,
+           "pvepl", &pmap_bootstrap_pv_allocator);
+       pool_init(&pmap_l2dtable_pool, sizeof(struct l2_dtable), 0, IPL_VM, 0,
            "l2dtblpl", NULL);
-       pool_setipl(&pmap_l2dtable_pool, IPL_VM);
-
-       /*
-        * Initialise the L2 descriptor table pool.
-        */
-       pool_init(&pmap_l2ptp_pool, L2_TABLE_SIZE_REAL, L2_TABLE_SIZE_REAL, 0,
-           0, "l2ptppl", &pool_allocator_single);
-       pool_setipl(&pmap_l2ptp_pool, IPL_VM);
+       pool_init(&pmap_l2ptp_pool, L2_TABLE_SIZE_REAL, L2_TABLE_SIZE_REAL,
+           IPL_VM, 0, "l2ptppl", &pool_allocator_single);
 
        cpu_dcache_wbinv_all();
        cpu_sdcache_wbinv_all();
Index: sys/arch/hppa/hppa/machdep.c
===================================================================
RCS file: /cvs/src/sys/arch/hppa/hppa/machdep.c,v
retrieving revision 1.245
diff -u -p -r1.245 machdep.c
--- sys/arch/hppa/hppa/machdep.c        21 May 2016 00:56:43 -0000      1.245
+++ sys/arch/hppa/hppa/machdep.c        6 Sep 2016 00:35:33 -0000
@@ -390,9 +390,8 @@ hppa_init(paddr_t start)
        fdcacheall();
 
        proc0paddr->u_pcb.pcb_fpstate = &proc0fpstate;
-       pool_init(&hppa_fppl, sizeof(struct hppa_fpstate), 16, 0, 0,
+       pool_init(&hppa_fppl, sizeof(struct hppa_fpstate), 16, IPL_NONE, 0,
            "hppafp", NULL);
-       pool_setipl(&hppa_fppl, IPL_NONE);
 }
 
 void
Index: sys/arch/hppa/hppa/pmap.c
===================================================================
RCS file: /cvs/src/sys/arch/hppa/hppa/pmap.c,v
retrieving revision 1.169
diff -u -p -r1.169 pmap.c
--- sys/arch/hppa/hppa/pmap.c   7 Jun 2016 06:23:19 -0000       1.169
+++ sys/arch/hppa/hppa/pmap.c   6 Sep 2016 00:35:33 -0000
@@ -631,12 +631,10 @@ pmap_init(void)
 {
        DPRINTF(PDB_FOLLOW|PDB_INIT, ("pmap_init()\n"));
 
-       pool_init(&pmap_pmap_pool, sizeof(struct pmap), 0, 0, 0,
+       pool_init(&pmap_pmap_pool, sizeof(struct pmap), 0, IPL_NONE, 0,
            "pmappl", NULL);
-       pool_setipl(&pmap_pmap_pool, IPL_NONE);
-       pool_init(&pmap_pv_pool, sizeof(struct pv_entry), 0, 0, 0, "pmappv",
-           NULL);
-       pool_setipl(&pmap_pv_pool, IPL_VM);
+       pool_init(&pmap_pv_pool, sizeof(struct pv_entry), 0, IPL_VM, 0,
+           "pmappv", NULL);
        pool_setlowat(&pmap_pv_pool, pmap_pvlowat);
        pool_sethiwat(&pmap_pv_pool, pmap_pvlowat * 32);
 
Index: sys/arch/i386/i386/pmap.c
===================================================================
RCS file: /cvs/src/sys/arch/i386/i386/pmap.c,v
retrieving revision 1.190
diff -u -p -r1.190 pmap.c
--- sys/arch/i386/i386/pmap.c   7 Jun 2016 06:23:19 -0000       1.190
+++ sys/arch/i386/i386/pmap.c   6 Sep 2016 00:35:33 -0000
@@ -1026,12 +1026,10 @@ pmap_bootstrap(vaddr_t kva_start)
         * initialize the pmap pool.
         */
 
-       pool_init(&pmap_pmap_pool, sizeof(struct pmap), 32, 0, 0,
+       pool_init(&pmap_pmap_pool, sizeof(struct pmap), 32, IPL_NONE, 0,
            "pmappl", NULL);
-       pool_setipl(&pmap_pmap_pool, IPL_NONE);
-       pool_init(&pmap_pv_pool, sizeof(struct pv_entry), 0, 0, 0, "pvpl",
-           &pmap_pv_page_allocator);
-       pool_setipl(&pmap_pv_pool, IPL_VM);
+       pool_init(&pmap_pv_pool, sizeof(struct pv_entry), 0, IPL_VM, 0,
+           "pvpl", &pmap_pv_page_allocator);
 
        /*
         * ensure the TLB is sync'd with reality by flushing it...
Index: sys/arch/m88k/m88k/pmap.c
===================================================================
RCS file: /cvs/src/sys/arch/m88k/m88k/pmap.c,v
retrieving revision 1.83
diff -u -p -r1.83 pmap.c
--- sys/arch/m88k/m88k/pmap.c   7 Jun 2016 06:23:19 -0000       1.83
+++ sys/arch/m88k/m88k/pmap.c   6 Sep 2016 00:35:33 -0000
@@ -865,11 +865,9 @@ void
 pmap_init(void)
 {
        DPRINTF(CD_INIT, ("pmap_init()\n"));
-       pool_init(&pmappool, sizeof(struct pmap), 0, 0, 0, "pmappl",
-           &pool_allocator_single);
-       pool_setipl(&pmappool, IPL_NONE);
-       pool_init(&pvpool, sizeof(pv_entry_t), 0, 0, 0, "pvpl", NULL);
-       pool_setipl(&pvpool, IPL_VM);
+       pool_init(&pmappool, sizeof(struct pmap), 0, IPL_NONE, 0,
+           "pmappl", &pool_allocator_single);
+       pool_init(&pvpool, sizeof(pv_entry_t), 0, IPL_VM, 0, "pvpl", NULL);
 }
 
 /*
Index: sys/arch/macppc/macppc/machdep.c
===================================================================
RCS file: /cvs/src/sys/arch/macppc/macppc/machdep.c,v
retrieving revision 1.176
diff -u -p -r1.176 machdep.c
--- sys/arch/macppc/macppc/machdep.c    21 May 2016 00:56:43 -0000      1.176
+++ sys/arch/macppc/macppc/machdep.c    6 Sep 2016 00:35:33 -0000
@@ -324,8 +324,8 @@ initppc(startkernel, endkernel, args)
        ofwconprobe();
        consinit();
 
-        pool_init(&ppc_vecpl, sizeof(struct vreg), 16, 0, 0, "ppcvec", NULL);
-       pool_setipl(&ppc_vecpl, IPL_NONE);
+        pool_init(&ppc_vecpl, sizeof(struct vreg), 16, IPL_NONE, 0, "ppcvec",
+           NULL);
 
 }
 
Index: sys/arch/mips64/mips64/pmap.c
===================================================================
RCS file: /cvs/src/sys/arch/mips64/mips64/pmap.c,v
retrieving revision 1.91
diff -u -p -r1.91 pmap.c
--- sys/arch/mips64/mips64/pmap.c       14 Aug 2016 08:23:52 -0000      1.91
+++ sys/arch/mips64/mips64/pmap.c       6 Sep 2016 00:35:34 -0000
@@ -356,13 +356,12 @@ pmap_bootstrap(void)
        Sysmap = (pt_entry_t *)
            uvm_pageboot_alloc(sizeof(pt_entry_t) * Sysmapsize);
 
-       pool_init(&pmap_pmap_pool, PMAP_SIZEOF(ncpusfound), 0, 0, 0,"pmappl", 
NULL);
-       pool_setipl(&pmap_pmap_pool, IPL_NONE);
-       pool_init(&pmap_pv_pool, sizeof(struct pv_entry), 0, 0, 0,"pvpl", NULL);
-       pool_setipl(&pmap_pv_pool, IPL_VM);
-       pool_init(&pmap_pg_pool, PMAP_L2SIZE, PMAP_L2SIZE, 0, 0, "pmappgpl",
-           &pmap_pg_allocator);
-       pool_setipl(&pmap_pg_pool, IPL_VM);
+       pool_init(&pmap_pmap_pool, PMAP_SIZEOF(ncpusfound), 0, IPL_NONE, 0,
+           "pmappl", NULL);
+       pool_init(&pmap_pv_pool, sizeof(struct pv_entry), 0, IPL_VM, 0,
+           "pvpl", NULL);
+       pool_init(&pmap_pg_pool, PMAP_L2SIZE, PMAP_L2SIZE, IPL_VM, 0,
+           "pmappgpl", &pmap_pg_allocator);
 
        pmap_kernel()->pm_count = 1;
 
Index: sys/arch/powerpc/powerpc/pmap.c
===================================================================
RCS file: /cvs/src/sys/arch/powerpc/powerpc/pmap.c,v
retrieving revision 1.164
diff -u -p -r1.164 pmap.c
--- sys/arch/powerpc/powerpc/pmap.c     7 Jun 2016 06:23:19 -0000       1.164
+++ sys/arch/powerpc/powerpc/pmap.c     6 Sep 2016 00:35:34 -0000
@@ -2142,17 +2142,14 @@ pmap_real_memory(paddr_t *start, vsize_t
 void
 pmap_init()
 {
-       pool_init(&pmap_pmap_pool, sizeof(struct pmap), 0, 0, 0,
+       pool_init(&pmap_pmap_pool, sizeof(struct pmap), 0, IPL_NONE, 0,
            "pmap", NULL);
-       pool_setipl(&pmap_pmap_pool, IPL_NONE);
        pool_setlowat(&pmap_pmap_pool, 2);
-       pool_init(&pmap_vp_pool, sizeof(struct pmapvp), 0, 0, 0, "vp",
-           &pool_allocator_single);
-       pool_setipl(&pmap_vp_pool, IPL_VM);
+       pool_init(&pmap_vp_pool, sizeof(struct pmapvp), 0, IPL_VM, 0,
+           "vp", &pool_allocator_single);
        pool_setlowat(&pmap_vp_pool, 10);
-       pool_init(&pmap_pted_pool, sizeof(struct pte_desc), 0, 0, 0, "pted",
-           NULL);
-       pool_setipl(&pmap_pted_pool, IPL_VM);
+       pool_init(&pmap_pted_pool, sizeof(struct pte_desc), 0, IPL_VM, 0,
+           "pted", NULL);
        pool_setlowat(&pmap_pted_pool, 20);
 
        PMAP_HASH_LOCK_INIT();
Index: sys/arch/sh/sh/pmap.c
===================================================================
RCS file: /cvs/src/sys/arch/sh/sh/pmap.c,v
retrieving revision 1.25
diff -u -p -r1.25 pmap.c
--- sys/arch/sh/sh/pmap.c       7 Jun 2016 06:23:19 -0000       1.25
+++ sys/arch/sh/sh/pmap.c       6 Sep 2016 00:35:34 -0000
@@ -203,12 +203,10 @@ void
 pmap_init(void)
 {
        /* Initialize pmap module */
-       pool_init(&__pmap_pmap_pool, sizeof(struct pmap), 0, 0, 0,
+       pool_init(&__pmap_pmap_pool, sizeof(struct pmap), 0, IPL_NONE, 0,
            "pmappl", &pool_allocator_single);
-       pool_setipl(&__pmap_pmap_pool, IPL_NONE);
-       pool_init(&__pmap_pv_pool, sizeof(struct pv_entry), 0, 0, 0, "pvpl",
-           &pmap_pv_page_allocator);
-       pool_setipl(&__pmap_pv_pool, IPL_VM);
+       pool_init(&__pmap_pv_pool, sizeof(struct pv_entry), 0, IPL_VM, 0,
+           "pvpl", &pmap_pv_page_allocator);
        pool_setlowat(&__pmap_pv_pool, 16);
 }
 
Index: sys/arch/sparc64/dev/vnet.c
===================================================================
RCS file: /cvs/src/sys/arch/sparc64/dev/vnet.c,v
retrieving revision 1.56
diff -u -p -r1.56 vnet.c
--- sys/arch/sparc64/dev/vnet.c 13 Apr 2016 11:34:00 -0000      1.56
+++ sys/arch/sparc64/dev/vnet.c 6 Sep 2016 00:35:34 -0000
@@ -304,8 +304,7 @@ vnet_attach(struct device *parent, struc
        /*
         * Each interface gets its own pool.
         */
-       pool_init(&sc->sc_pool, 2048, 0, 0, 0, sc->sc_dv.dv_xname, NULL);
-       pool_setipl(&sc->sc_pool, IPL_NET);
+       pool_init(&sc->sc_pool, 2048, 0, IPL_NET, 0, sc->sc_dv.dv_xname, NULL);
 
        ifp = &sc->sc_ac.ac_if;
        ifp->if_softc = sc;
Index: sys/arch/sparc64/sparc64/pmap.c
===================================================================
RCS file: /cvs/src/sys/arch/sparc64/sparc64/pmap.c,v
retrieving revision 1.97
diff -u -p -r1.97 pmap.c
--- sys/arch/sparc64/sparc64/pmap.c     7 Jun 2016 06:23:19 -0000       1.97
+++ sys/arch/sparc64/sparc64/pmap.c     6 Sep 2016 00:35:34 -0000
@@ -1378,11 +1378,10 @@ pmap_init(void)
                panic("pmap_init: CLSIZE!=1");
 
        /* Setup a pool for additional pvlist structures */
-       pool_init(&pv_pool, sizeof(struct pv_entry), 0, 0, 0, "pv_entry", NULL);
-       pool_setipl(&pv_pool, IPL_VM);
-       pool_init(&pmap_pool, sizeof(struct pmap), 0, 0, 0,
+       pool_init(&pv_pool, sizeof(struct pv_entry), 0, IPL_VM, 0,
+           "pv_entry", NULL);
+       pool_init(&pmap_pool, sizeof(struct pmap), 0, IPL_NONE, 0,
            "pmappl", NULL);
-       pool_setipl(&pmap_pool, IPL_NONE);
 }
 
 /* Start of non-cachable physical memory on UltraSPARC-III. */
Index: sys/crypto/crypto.c
===================================================================
RCS file: /cvs/src/sys/crypto/crypto.c,v
retrieving revision 1.76
diff -u -p -r1.76 crypto.c
--- sys/crypto/crypto.c 18 Apr 2016 21:05:55 -0000      1.76
+++ sys/crypto/crypto.c 6 Sep 2016 00:35:34 -0000
@@ -513,12 +513,10 @@ crypto_init(void)
        crypto_taskq = taskq_create("crypto", 1, IPL_VM, 0);
        crypto_taskq_mpsafe = taskq_create("crynlk", 1, IPL_VM|IPL_MPSAFE, 0);
 
-       pool_init(&cryptop_pool, sizeof(struct cryptop), 0, 0,
-           0, "cryptop", NULL);
-       pool_setipl(&cryptop_pool, IPL_VM);
-       pool_init(&cryptodesc_pool, sizeof(struct cryptodesc), 0, 0,
-           0, "cryptodesc", NULL);
-       pool_setipl(&cryptodesc_pool, IPL_VM);
+       pool_init(&cryptop_pool, sizeof(struct cryptop), 0, IPL_VM, 0,
+           "cryptop", NULL);
+       pool_init(&cryptodesc_pool, sizeof(struct cryptodesc), 0, IPL_VM, 0,
+           "cryptodesc", NULL);
 }
 
 /*
Index: sys/dev/vscsi.c
===================================================================
RCS file: /cvs/src/sys/dev/vscsi.c,v
retrieving revision 1.39
diff -u -p -r1.39 vscsi.c
--- sys/dev/vscsi.c     27 Aug 2015 18:54:02 -0000      1.39
+++ sys/dev/vscsi.c     6 Sep 2016 00:35:34 -0000
@@ -269,9 +269,8 @@ vscsiopen(dev_t dev, int flags, int mode
                return (rv);
        }
 
-       pool_init(&sc->sc_ccb_pool, sizeof(struct vscsi_ccb), 0, 0, 0,
+       pool_init(&sc->sc_ccb_pool, sizeof(struct vscsi_ccb), 0, IPL_BIO, 0,
            "vscsiccb", NULL);
-       pool_setipl(&sc->sc_ccb_pool, IPL_BIO);
 
        /* we need to guarantee some ccbs will be available for the iopool */
        rv = pool_prime(&sc->sc_ccb_pool, 8);
Index: sys/dev/cardbus/cardslot.c
===================================================================
RCS file: /cvs/src/sys/dev/cardbus/cardslot.c,v
retrieving revision 1.20
diff -u -p -r1.20 cardslot.c
--- sys/dev/cardbus/cardslot.c  24 Aug 2016 09:31:56 -0000      1.20
+++ sys/dev/cardbus/cardslot.c  6 Sep 2016 00:35:34 -0000
@@ -103,8 +103,7 @@ cardslotattach(struct device *parent, st
 
        if (cardsloteventpool.pr_size == 0) {
                pool_init(&cardsloteventpool, sizeof(struct cardslot_event),
-                   0, 0, 0, "cardslot", NULL);
-               pool_setipl(&cardsloteventpool, IPL_BIO);
+                   0, IPL_BIO, 0, "cardslot", NULL);
        }
 
        sc->sc_slot = sc->sc_dev.dv_unit;
Index: sys/dev/ic/ncr53c9x.c
===================================================================
RCS file: /cvs/src/sys/dev/ic/ncr53c9x.c,v
retrieving revision 1.62
diff -u -p -r1.62 ncr53c9x.c
--- sys/dev/ic/ncr53c9x.c       23 Aug 2016 03:28:01 -0000      1.62
+++ sys/dev/ic/ncr53c9x.c       6 Sep 2016 00:35:34 -0000
@@ -392,9 +392,8 @@ ncr53c9x_init(sc, doreset)
 
        if (!ecb_pool_initialized) {
                /* All instances share this pool */
-               pool_init(&ecb_pool, sizeof(struct ncr53c9x_ecb), 0, 0, 0,
-                   "ncr53c9x_ecb", NULL);
-               pool_setipl(&ecb_pool, IPL_BIO);
+               pool_init(&ecb_pool, sizeof(struct ncr53c9x_ecb), 0, IPL_BIO,
+                   0, "ncr53c9x_ecb", NULL);
                scsi_iopool_init(&ecb_iopool, NULL,
                    ncr53c9x_get_ecb, ncr53c9x_free_ecb);
                ecb_pool_initialized = 1;
Index: sys/dev/ic/wd33c93.c
===================================================================
RCS file: /cvs/src/sys/dev/ic/wd33c93.c,v
retrieving revision 1.7
diff -u -p -r1.7 wd33c93.c
--- sys/dev/ic/wd33c93.c        12 Jul 2014 18:48:17 -0000      1.7
+++ sys/dev/ic/wd33c93.c        6 Sep 2016 00:35:34 -0000
@@ -229,9 +229,8 @@ wd33c93_init(struct wd33c93_softc *sc)
 
        if (!wd33c93_pool_initialized) {
                /* All instances share the same pool */
-               pool_init(&wd33c93_pool, sizeof(struct wd33c93_acb), 0, 0, 0,
-                   "wd33c93_acb", NULL);
-               pool_setipl(&wd33c93_pool, IPL_BIO);
+               pool_init(&wd33c93_pool, sizeof(struct wd33c93_acb), 0,
+                   IPL_BIO, 0, "wd33c93_acb", NULL);
                scsi_iopool_init(&wd33c93_iopool, NULL,
                    wd33c93_io_get, wd33c93_io_put);
                ++wd33c93_pool_initialized;
Index: sys/dev/ic/wdc.c
===================================================================
RCS file: /cvs/src/sys/dev/ic/wdc.c,v
retrieving revision 1.130
diff -u -p -r1.130 wdc.c
--- sys/dev/ic/wdc.c    28 Aug 2015 00:03:53 -0000      1.130
+++ sys/dev/ic/wdc.c    6 Sep 2016 00:35:35 -0000
@@ -713,9 +713,8 @@ wdc_alloc_queue(void)
        /* Initialize global data. */
        if (inited == 0) {
                /* Initialize the wdc_xfer pool. */
-               pool_init(&wdc_xfer_pool, sizeof(struct wdc_xfer), 0,
-                   0, 0, "wdcxfer", NULL);
-               pool_setipl(&wdc_xfer_pool, IPL_BIO);
+               pool_init(&wdc_xfer_pool, sizeof(struct wdc_xfer), 0, IPL_BIO,
+                   0, "wdcxfer", NULL);
                scsi_iopool_init(&wdc_xfer_iopool, NULL,
                    wdc_xfer_get, wdc_xfer_put);
                inited = 1;
Index: sys/dev/pci/if_myx.c
===================================================================
RCS file: /cvs/src/sys/dev/pci/if_myx.c,v
retrieving revision 1.95
diff -u -p -r1.95 if_myx.c
--- sys/dev/pci/if_myx.c        23 May 2016 15:22:44 -0000      1.95
+++ sys/dev/pci/if_myx.c        6 Sep 2016 00:35:35 -0000
@@ -302,9 +302,8 @@ myx_attach(struct device *parent, struct
                            DEVNAME(sc));
                        goto unmap;
                }
-               pool_init(myx_mcl_pool, MYX_RXBIG_SIZE, MYX_BOUNDARY, 0,
+               pool_init(myx_mcl_pool, MYX_RXBIG_SIZE, MYX_BOUNDARY, IPL_NET,
                    0, "myxmcl", NULL);
-               pool_setipl(myx_mcl_pool, IPL_NET);
                pool_set_constraints(myx_mcl_pool, &kp_dma_contig);
        }
 
Index: sys/dev/pci/if_nep.c
===================================================================
RCS file: /cvs/src/sys/dev/pci/if_nep.c,v
retrieving revision 1.25
diff -u -p -r1.25 if_nep.c
--- sys/dev/pci/if_nep.c        23 May 2016 15:22:44 -0000      1.25
+++ sys/dev/pci/if_nep.c        6 Sep 2016 00:35:35 -0000
@@ -605,9 +605,8 @@ nep_attach(struct device *parent, struct
                            sc->sc_dev.dv_xname);
                        return;
                }
-               pool_init(nep_block_pool, PAGE_SIZE, 0, 0, 0,
+               pool_init(nep_block_pool, PAGE_SIZE, 0, IPL_NET, 0,
                    "nepblk", NULL);
-               pool_setipl(nep_block_pool, IPL_NET);
        }
 
        val = nep_read(sc, MIF_CONFIG);
Index: sys/dev/pci/if_oce.c
===================================================================
RCS file: /cvs/src/sys/dev/pci/if_oce.c,v
retrieving revision 1.96
diff -u -p -r1.96 if_oce.c
--- sys/dev/pci/if_oce.c        24 Aug 2016 10:38:34 -0000      1.96
+++ sys/dev/pci/if_oce.c        6 Sep 2016 00:35:35 -0000
@@ -586,9 +586,8 @@ oce_attach(struct device *parent, struct
                        printf(": unable to allocate descriptor pool\n");
                        goto fail_2;
                }
-               pool_init(oce_pkt_pool, sizeof(struct oce_pkt), 0, 0, 0,
-                   "ocepkts", NULL);
-               pool_setipl(oce_pkt_pool, IPL_NET);
+               pool_init(oce_pkt_pool, sizeof(struct oce_pkt), 0, IPL_NET,
+                   0, "ocepkts", NULL);
        }
 
        /* We allocate a single interrupt resource */
Index: sys/dev/pci/drm/drm_drv.c
===================================================================
RCS file: /cvs/src/sys/dev/pci/drm/drm_drv.c,v
retrieving revision 1.148
diff -u -p -r1.148 drm_drv.c
--- sys/dev/pci/drm/drm_drv.c   24 Aug 2016 09:31:56 -0000      1.148
+++ sys/dev/pci/drm/drm_drv.c   6 Sep 2016 00:35:35 -0000
@@ -436,9 +436,8 @@ drm_attach(struct device *parent, struct
        if (dev->driver->driver_features & DRIVER_GEM) {
                KASSERT(dev->driver->gem_size >= sizeof(struct drm_gem_object));
                /* XXX unique name */
-               pool_init(&dev->objpl, dev->driver->gem_size, 0, 0, 0,
+               pool_init(&dev->objpl, dev->driver->gem_size, 0, IPL_NONE, 0,
                    "drmobjpl", NULL);
-               pool_setipl(&dev->objpl, IPL_NONE);
        }
 
        if (dev->driver->driver_features & DRIVER_GEM) {
Index: sys/dev/pci/drm/drm_linux.c
===================================================================
RCS file: /cvs/src/sys/dev/pci/drm/drm_linux.c,v
retrieving revision 1.11
diff -u -p -r1.11 drm_linux.c
--- sys/dev/pci/drm/drm_linux.c 7 Apr 2016 20:30:59 -0000       1.11
+++ sys/dev/pci/drm/drm_linux.c 6 Sep 2016 00:35:35 -0000
@@ -240,9 +240,8 @@ idr_init(struct idr *idr)
        static int initialized;
 
        if (!initialized) {
-               pool_init(&idr_pool, sizeof(struct idr_entry), 0, 0, 0,
+               pool_init(&idr_pool, sizeof(struct idr_entry), 0, IPL_TTY, 0,
                    "idrpl", NULL);
-               pool_setipl(&idr_pool, IPL_TTY);
                initialized = 1;
        }
        SPLAY_INIT(&idr->tree);
Index: sys/dev/usb/ehci.c
===================================================================
RCS file: /cvs/src/sys/dev/usb/ehci.c,v
retrieving revision 1.192
diff -u -p -r1.192 ehci.c
--- sys/dev/usb/ehci.c  18 Aug 2016 11:59:58 -0000      1.192
+++ sys/dev/usb/ehci.c  6 Sep 2016 00:35:35 -0000
@@ -338,9 +338,8 @@ ehci_init(struct ehci_softc *sc)
                            sc->sc_bus.bdev.dv_xname);
                        return (ENOMEM);
                }
-               pool_init(ehcixfer, sizeof(struct ehci_xfer), 0, 0, 0,
-                   "ehcixfer", NULL);
-               pool_setipl(ehcixfer, IPL_SOFTUSB);
+               pool_init(ehcixfer, sizeof(struct ehci_xfer), 0, IPL_SOFTUSB,
+                   0, "ehcixfer", NULL);
        }
 
        /* frame list size at default, read back what we got and use that */
Index: sys/dev/usb/ohci.c
===================================================================
RCS file: /cvs/src/sys/dev/usb/ohci.c,v
retrieving revision 1.146
diff -u -p -r1.146 ohci.c
--- sys/dev/usb/ohci.c  2 Dec 2015 09:43:03 -0000       1.146
+++ sys/dev/usb/ohci.c  6 Sep 2016 00:35:35 -0000
@@ -724,9 +724,8 @@ ohci_init(struct ohci_softc *sc)
                            sc->sc_bus.bdev.dv_xname);
                        return (ENOMEM);
                }
-               pool_init(ohcixfer, sizeof(struct ohci_xfer), 0, 0, 0,
-                   "ohcixfer", NULL);
-               pool_setipl(ohcixfer, IPL_SOFTUSB);
+               pool_init(ohcixfer, sizeof(struct ohci_xfer), 0, IPL_SOFTUSB,
+                   0, "ohcixfer", NULL);
        }
 
        /* XXX determine alignment by R/W */
Index: sys/dev/usb/uhci.c
===================================================================
RCS file: /cvs/src/sys/dev/usb/uhci.c,v
retrieving revision 1.138
diff -u -p -r1.138 uhci.c
--- sys/dev/usb/uhci.c  26 Jun 2015 11:17:34 -0000      1.138
+++ sys/dev/usb/uhci.c  6 Sep 2016 00:35:36 -0000
@@ -370,9 +370,8 @@ uhci_init(struct uhci_softc *sc)
                            sc->sc_bus.bdev.dv_xname);
                        return (ENOMEM);
                }
-               pool_init(uhcixfer, sizeof(struct uhci_xfer), 0, 0, 0,
-                   "uhcixfer", NULL);
-               pool_setipl(uhcixfer, IPL_SOFTUSB);
+               pool_init(uhcixfer, sizeof(struct uhci_xfer), 0, IPL_SOFTUSB,
+                   0, "uhcixfer", NULL);
        }
 
        /* Restore saved SOF. */
Index: sys/dev/usb/xhci.c
===================================================================
RCS file: /cvs/src/sys/dev/usb/xhci.c,v
retrieving revision 1.66
diff -u -p -r1.66 xhci.c
--- sys/dev/usb/xhci.c  2 Dec 2015 09:23:23 -0000       1.66
+++ sys/dev/usb/xhci.c  6 Sep 2016 00:35:36 -0000
@@ -311,9 +311,8 @@ xhci_init(struct xhci_softc *sc)
                            DEVNAME(sc));
                        return (ENOMEM);
                }
-               pool_init(xhcixfer, sizeof(struct xhci_xfer), 0, 0, 0,
-                   "xhcixfer", NULL);
-               pool_setipl(xhcixfer, IPL_SOFTUSB);
+               pool_init(xhcixfer, sizeof(struct xhci_xfer), 0, IPL_SOFTUSB,
+                   0, "xhcixfer", NULL);
        }
 
        hcr = XREAD4(sc, XHCI_HCCPARAMS);
Index: sys/dev/usb/dwc2/dwc2.c
===================================================================
RCS file: /cvs/src/sys/dev/usb/dwc2/dwc2.c,v
retrieving revision 1.36
diff -u -p -r1.36 dwc2.c
--- sys/dev/usb/dwc2/dwc2.c     23 Dec 2015 12:38:40 -0000      1.36
+++ sys/dev/usb/dwc2/dwc2.c     6 Sep 2016 00:35:36 -0000
@@ -1563,15 +1563,12 @@ dwc2_init(struct dwc2_softc *sc)
            USB_MEM_RESERVE);
 #endif
 
-       pool_init(&sc->sc_xferpool, sizeof(struct dwc2_xfer), 0, 0, 0,
+       pool_init(&sc->sc_xferpool, sizeof(struct dwc2_xfer), 0, IPL_USB, 0,
            "dwc2xfer", NULL);
-       pool_setipl(&sc->sc_xferpool, IPL_USB);
-       pool_init(&sc->sc_qhpool, sizeof(struct dwc2_qh), 0, 0, 0,
+       pool_init(&sc->sc_qhpool, sizeof(struct dwc2_qh), 0, IPL_USB, 0,
            "dwc2qh", NULL);
-       pool_setipl(&sc->sc_qhpool, IPL_USB);
-       pool_init(&sc->sc_qtdpool, sizeof(struct dwc2_qtd), 0, 0, 0,
+       pool_init(&sc->sc_qtdpool, sizeof(struct dwc2_qtd), 0, IPL_USB, 0,
            "dwc2qtd", NULL);
-       pool_setipl(&sc->sc_qtdpool, IPL_USB);
 
        sc->sc_hsotg = malloc(sizeof(struct dwc2_hsotg), M_DEVBUF,
            M_ZERO | M_WAITOK);
Index: sys/isofs/udf/udf_vfsops.c
===================================================================
RCS file: /cvs/src/sys/isofs/udf/udf_vfsops.c,v
retrieving revision 1.54
diff -u -p -r1.54 udf_vfsops.c
--- sys/isofs/udf/udf_vfsops.c  25 Aug 2016 00:06:44 -0000      1.54
+++ sys/isofs/udf/udf_vfsops.c  6 Sep 2016 00:35:36 -0000
@@ -102,15 +102,12 @@ const struct vfsops udf_vfsops = {
 int
 udf_init(struct vfsconf *foo)
 {
-       pool_init(&udf_trans_pool, MAXNAMLEN * sizeof(unicode_t), 0, 0,
+       pool_init(&udf_trans_pool, MAXNAMLEN * sizeof(unicode_t), 0, IPL_NONE,
            PR_WAITOK, "udftrpl", NULL);
-       pool_setipl(&udf_trans_pool, IPL_NONE);
-       pool_init(&unode_pool, sizeof(struct unode), 0, 0,
+       pool_init(&unode_pool, sizeof(struct unode), 0, IPL_NONE,
            PR_WAITOK, "udfndpl", NULL);
-       pool_setipl(&unode_pool, IPL_NONE);
-       pool_init(&udf_ds_pool, sizeof(struct udf_dirstream), 0, 0,
+       pool_init(&udf_ds_pool, sizeof(struct udf_dirstream), 0, IPL_NONE,
            PR_WAITOK, "udfdspl", NULL);
-       pool_setipl(&udf_ds_pool, IPL_NONE);
 
        return (0);
 }
Index: sys/kern/dma_alloc.c
===================================================================
RCS file: /cvs/src/sys/kern/dma_alloc.c,v
retrieving revision 1.12
diff -u -p -r1.12 dma_alloc.c
--- sys/kern/dma_alloc.c        8 Jul 2014 17:19:25 -0000       1.12
+++ sys/kern/dma_alloc.c        6 Sep 2016 00:35:36 -0000
@@ -38,10 +38,9 @@ dma_alloc_init(void)
        for (i = 0; i < nitems(dmapools); i++) {
                snprintf(dmanames[i], sizeof(dmanames[0]), "dma%d",
                    1 << (i + DMA_BUCKET_OFFSET));
-               pool_init(&dmapools[i], 1 << (i + DMA_BUCKET_OFFSET), 0, 0, 0,
-                   dmanames[i], NULL);
+               pool_init(&dmapools[i], 1 << (i + DMA_BUCKET_OFFSET), 0,
+                   IPL_VM, 0, dmanames[i], NULL);
                pool_set_constraints(&dmapools[i], &kp_dma_contig);
-               pool_setipl(&dmapools[i], IPL_VM);
                /* XXX need pool_setlowat(&dmapools[i], dmalowat); */
        }
 }
Index: sys/kern/kern_descrip.c
===================================================================
RCS file: /cvs/src/sys/kern/kern_descrip.c,v
retrieving revision 1.134
diff -u -p -r1.134 kern_descrip.c
--- sys/kern/kern_descrip.c     25 Aug 2016 00:00:02 -0000      1.134
+++ sys/kern/kern_descrip.c     6 Sep 2016 00:35:36 -0000
@@ -83,12 +83,10 @@ struct pool fdesc_pool;
 void
 filedesc_init(void)
 {
-       pool_init(&file_pool, sizeof(struct file), 0, 0, PR_WAITOK,
-           "filepl", NULL);
-       pool_setipl(&file_pool, IPL_NONE);
-       pool_init(&fdesc_pool, sizeof(struct filedesc0), 0, 0, PR_WAITOK,
-           "fdescpl", NULL);
-       pool_setipl(&fdesc_pool, IPL_NONE);
+       pool_init(&file_pool, sizeof(struct file), 0, IPL_NONE,
+           PR_WAITOK, "filepl", NULL);
+       pool_init(&fdesc_pool, sizeof(struct filedesc0), 0, IPL_NONE,
+           PR_WAITOK, "fdescpl", NULL);
        LIST_INIT(&filehead);
 }
 
Index: sys/kern/kern_event.c
===================================================================
RCS file: /cvs/src/sys/kern/kern_event.c,v
retrieving revision 1.75
diff -u -p -r1.75 kern_event.c
--- sys/kern/kern_event.c       25 Aug 2016 00:00:02 -0000      1.75
+++ sys/kern/kern_event.c       6 Sep 2016 00:35:36 -0000
@@ -163,12 +163,10 @@ void
 kqueue_init(void)
 {
 
-       pool_init(&kqueue_pool, sizeof(struct kqueue), 0, 0, PR_WAITOK,
+       pool_init(&kqueue_pool, sizeof(struct kqueue), 0, IPL_NONE, PR_WAITOK,
            "kqueuepl", NULL);
-       pool_setipl(&kqueue_pool, IPL_NONE);
-       pool_init(&knote_pool, sizeof(struct knote), 0, 0, PR_WAITOK,
+       pool_init(&knote_pool, sizeof(struct knote), 0, IPL_NONE, PR_WAITOK,
            "knotepl", NULL);
-       pool_setipl(&knote_pool, IPL_NONE);
 }
 
 int
Index: sys/kern/kern_proc.c
===================================================================
RCS file: /cvs/src/sys/kern/kern_proc.c,v
retrieving revision 1.69
diff -u -p -r1.69 kern_proc.c
--- sys/kern/kern_proc.c        2 Sep 2016 18:11:28 -0000       1.69
+++ sys/kern/kern_proc.c        6 Sep 2016 00:35:36 -0000
@@ -93,24 +93,18 @@ procinit(void)
        if (!pidhashtbl || !pgrphashtbl || !uihashtbl)
                panic("procinit: malloc");
 
-       pool_init(&proc_pool, sizeof(struct proc), 0, 0, PR_WAITOK,
-           "procpl", NULL);
-       pool_setipl(&proc_pool, IPL_NONE);
-       pool_init(&process_pool, sizeof(struct process), 0, 0, PR_WAITOK,
-           "processpl", NULL);
-       pool_setipl(&process_pool, IPL_NONE);
-       pool_init(&rusage_pool, sizeof(struct rusage), 0, 0, PR_WAITOK,
-           "zombiepl", NULL);
-       pool_setipl(&rusage_pool, IPL_NONE);
-       pool_init(&ucred_pool, sizeof(struct ucred), 0, 0, PR_WAITOK,
-           "ucredpl", NULL);
-       pool_setipl(&ucred_pool, IPL_NONE);
-       pool_init(&pgrp_pool, sizeof(struct pgrp), 0, 0, PR_WAITOK,
-           "pgrppl", NULL);
-       pool_setipl(&pgrp_pool, IPL_NONE);
-       pool_init(&session_pool, sizeof(struct session), 0, 0, PR_WAITOK,
-           "sessionpl", NULL);
-       pool_setipl(&session_pool, IPL_NONE);
+       pool_init(&proc_pool, sizeof(struct proc), 0, IPL_NONE,
+           PR_WAITOK, "procpl", NULL);
+       pool_init(&process_pool, sizeof(struct process), 0, IPL_NONE,
+           PR_WAITOK, "processpl", NULL);
+       pool_init(&rusage_pool, sizeof(struct rusage), 0, IPL_NONE,
+           PR_WAITOK, "zombiepl", NULL);
+       pool_init(&ucred_pool, sizeof(struct ucred), 0, IPL_NONE,
+           PR_WAITOK, "ucredpl", NULL);
+       pool_init(&pgrp_pool, sizeof(struct pgrp), 0, IPL_NONE,
+           PR_WAITOK, "pgrppl", NULL);
+       pool_init(&session_pool, sizeof(struct session), 0, IPL_NONE,
+           PR_WAITOK, "sessionpl", NULL);
 }
 
 struct uidinfo *
Index: sys/kern/kern_resource.c
===================================================================
RCS file: /cvs/src/sys/kern/kern_resource.c,v
retrieving revision 1.56
diff -u -p -r1.56 kern_resource.c
--- sys/kern/kern_resource.c    25 Aug 2016 00:00:02 -0000      1.56
+++ sys/kern/kern_resource.c    6 Sep 2016 00:35:36 -0000
@@ -506,9 +506,8 @@ limcopy(struct plimit *lim)
        static int initialized;
 
        if (!initialized) {
-               pool_init(&plimit_pool, sizeof(struct plimit), 0, 0, PR_WAITOK,
-                   "plimitpl", NULL);
-               pool_setipl(&plimit_pool, IPL_NONE);
+               pool_init(&plimit_pool, sizeof(struct plimit), 0, IPL_NONE,
+                   PR_WAITOK, "plimitpl", NULL);
                initialized = 1;
        }
 
Index: sys/kern/kern_sig.c
===================================================================
RCS file: /cvs/src/sys/kern/kern_sig.c,v
retrieving revision 1.204
diff -u -p -r1.204 kern_sig.c
--- sys/kern/kern_sig.c 4 Sep 2016 17:22:40 -0000       1.204
+++ sys/kern/kern_sig.c 6 Sep 2016 00:35:36 -0000
@@ -152,9 +152,8 @@ signal_init(void)
 {
        timeout_set(&proc_stop_to, proc_stop_sweep, NULL);
 
-       pool_init(&sigacts_pool, sizeof(struct sigacts), 0, 0, PR_WAITOK,
-           "sigapl", NULL);
-       pool_setipl(&sigacts_pool, IPL_NONE);
+       pool_init(&sigacts_pool, sizeof(struct sigacts), 0, IPL_NONE,
+           PR_WAITOK, "sigapl", NULL);
 }
 
 /*
Index: sys/kern/kern_srp.c
===================================================================
RCS file: /cvs/src/sys/kern/kern_srp.c,v
retrieving revision 1.10
diff -u -p -r1.10 kern_srp.c
--- sys/kern/kern_srp.c 1 Jun 2016 03:34:32 -0000       1.10
+++ sys/kern/kern_srp.c 6 Sep 2016 00:35:36 -0000
@@ -106,11 +106,8 @@ struct pool srp_gc_ctx_pool;
 void
 srp_startup(void)
 {
-       pool_init(&srp_gc_ctx_pool, sizeof(struct srp_gc_ctx), 0, 0,
-           PR_WAITOK, "srpgc", NULL);
-
-       /* items are allocated in a process, but freed from a timeout */
-       pool_setipl(&srp_gc_ctx_pool, IPL_SOFTCLOCK);
+       pool_init(&srp_gc_ctx_pool, sizeof(struct srp_gc_ctx), 0,
+           IPL_SOFTCLOCK, PR_WAITOK, "srpgc", NULL);
 }
 
 int
Index: sys/kern/subr_extent.c
===================================================================
RCS file: /cvs/src/sys/kern/subr_extent.c,v
retrieving revision 1.57
diff -u -p -r1.57 subr_extent.c
--- sys/kern/subr_extent.c      28 Aug 2015 00:03:53 -0000      1.57
+++ sys/kern/subr_extent.c      6 Sep 2016 00:35:36 -0000
@@ -66,7 +66,6 @@ struct pool {
 };
 
 #define        pool_init(a, b, c, d, e, f, g)  do { (a)->pr_size = (b); } 
while (0)
-#define        pool_setipl(pp, ipl)            /* nothing */
 #define pool_get(pp, flags)            malloc((pp)->pr_size, 0, 0)
 #define        pool_put(pp, rp)                free((rp), 0, 0)
 
@@ -137,9 +136,8 @@ extent_pool_init(void)
        static int inited;
 
        if (!inited) {
-               pool_init(&ex_region_pl, sizeof(struct extent_region), 0, 0, 0,
-                   "extentpl", NULL);
-               pool_setipl(&ex_region_pl, IPL_VM);
+               pool_init(&ex_region_pl, sizeof(struct extent_region), 0,
+                   IPL_VM, 0, "extentpl", NULL);
                inited = 1;
        }
 }
Index: sys/kern/sys_pipe.c
===================================================================
RCS file: /cvs/src/sys/kern/sys_pipe.c,v
retrieving revision 1.73
diff -u -p -r1.73 sys_pipe.c
--- sys/kern/sys_pipe.c 30 Aug 2016 07:40:35 -0000      1.73
+++ sys/kern/sys_pipe.c 6 Sep 2016 00:35:36 -0000
@@ -870,8 +870,7 @@ filt_pipewrite(struct knote *kn, long hi
 void
 pipe_init(void)
 {
-       pool_init(&pipe_pool, sizeof(struct pipe), 0, 0, PR_WAITOK, "pipepl",
-           NULL);
-       pool_setipl(&pipe_pool, IPL_NONE);
+       pool_init(&pipe_pool, sizeof(struct pipe), 0, IPL_NONE, PR_WAITOK,
+           "pipepl", NULL);
 }
 
Index: sys/kern/sysv_msg.c
===================================================================
RCS file: /cvs/src/sys/kern/sysv_msg.c,v
retrieving revision 1.32
diff -u -p -r1.32 sysv_msg.c
--- sys/kern/sysv_msg.c 30 Aug 2016 07:40:35 -0000      1.32
+++ sys/kern/sysv_msg.c 6 Sep 2016 00:35:36 -0000
@@ -80,9 +80,8 @@ msginit(void)
        msginfo.msgssz = MSGSSZ;
        msginfo.msgseg = MSGSEG;
 
-       pool_init(&sysvmsgpl, sizeof(struct msg), 0, 0, PR_WAITOK, "sysvmsgpl",
-           NULL);
-       pool_setipl(&sysvmsgpl, IPL_NONE);
+       pool_init(&sysvmsgpl, sizeof(struct msg), 0, IPL_NONE, PR_WAITOK,
+           "sysvmsgpl", NULL);
 
        TAILQ_INIT(&msg_queues);
 
Index: sys/kern/sysv_shm.c
===================================================================
RCS file: /cvs/src/sys/kern/sysv_shm.c,v
retrieving revision 1.68
diff -u -p -r1.68 sysv_shm.c
--- sys/kern/sysv_shm.c 30 Aug 2016 07:40:35 -0000      1.68
+++ sys/kern/sysv_shm.c 6 Sep 2016 00:35:36 -0000
@@ -523,9 +523,9 @@ void
 shminit(void)
 {
 
-       pool_init(&shm_pool, sizeof(struct shmid_ds) +
-           sizeof(struct shm_handle), 0, 0, PR_WAITOK, "shmpl", NULL);
-       pool_setipl(&shm_pool, IPL_NONE);
+       pool_init(&shm_pool,
+           sizeof(struct shmid_ds) + sizeof(struct shm_handle), 0,
+           IPL_NONE, PR_WAITOK, "shmpl", NULL);
        shmsegs = mallocarray(shminfo.shmmni, sizeof(struct shmid_ds *),
            M_SHM, M_WAITOK|M_ZERO);
        shmseqs = mallocarray(shminfo.shmmni, sizeof(unsigned short),
Index: sys/kern/uipc_mbuf.c
===================================================================
RCS file: /cvs/src/sys/kern/uipc_mbuf.c,v
retrieving revision 1.227
diff -u -p -r1.227 uipc_mbuf.c
--- sys/kern/uipc_mbuf.c        3 Sep 2016 14:17:37 -0000       1.227
+++ sys/kern/uipc_mbuf.c        6 Sep 2016 00:35:36 -0000
@@ -151,21 +151,18 @@ mbinit(void)
                panic("mbinit: the largest cluster size != MAXMCLBYTES");
 #endif
 
-       pool_init(&mbpool, MSIZE, 0, 0, 0, "mbufpl", NULL);
-       pool_setipl(&mbpool, IPL_NET);
+       pool_init(&mbpool, MSIZE, 0, IPL_NET, 0, "mbufpl", NULL);
        pool_set_constraints(&mbpool, &kp_dma_contig);
        pool_setlowat(&mbpool, mblowat);
 
-       pool_init(&mtagpool, PACKET_TAG_MAXSIZE + sizeof(struct m_tag),
-           0, 0, 0, "mtagpl", NULL);
-       pool_setipl(&mtagpool, IPL_NET);
+       pool_init(&mtagpool, PACKET_TAG_MAXSIZE + sizeof(struct m_tag), 0,
+           IPL_NET, 0, "mtagpl", NULL);
 
        for (i = 0; i < nitems(mclsizes); i++) {
                snprintf(mclnames[i], sizeof(mclnames[0]), "mcl%dk",
                    mclsizes[i] >> 10);
-               pool_init(&mclpools[i], mclsizes[i], 0, 0, 0,
+               pool_init(&mclpools[i], mclsizes[i], 0, IPL_NET, 0,
                    mclnames[i], NULL);
-               pool_setipl(&mclpools[i], IPL_NET);
                pool_set_constraints(&mclpools[i], &kp_dma_contig);
                pool_setlowat(&mclpools[i], mcllowat);
        }
Index: sys/kern/uipc_socket.c
===================================================================
RCS file: /cvs/src/sys/kern/uipc_socket.c,v
retrieving revision 1.157
diff -u -p -r1.157 uipc_socket.c
--- sys/kern/uipc_socket.c      3 Sep 2016 14:09:58 -0000       1.157
+++ sys/kern/uipc_socket.c      6 Sep 2016 00:35:37 -0000
@@ -92,12 +92,11 @@ struct taskq *sosplice_taskq;
 void
 soinit(void)
 {
-       pool_init(&socket_pool, sizeof(struct socket), 0, 0, 0, "sockpl", NULL);
-       pool_setipl(&socket_pool, IPL_SOFTNET);
+       pool_init(&socket_pool, sizeof(struct socket), 0, IPL_SOFTNET, 0,
+           "sockpl", NULL);
 #ifdef SOCKET_SPLICE
-       pool_init(&sosplice_pool, sizeof(struct sosplice), 0, 0, 0, "sosppl",
-           NULL);
-       pool_setipl(&sosplice_pool, IPL_SOFTNET);
+       pool_init(&sosplice_pool, sizeof(struct sosplice), 0, IPL_SOFTNET, 0,
+           "sosppl", NULL);
 #endif
 }
 
Index: sys/kern/vfs_bio.c
===================================================================
RCS file: /cvs/src/sys/kern/vfs_bio.c,v
retrieving revision 1.176
diff -u -p -r1.176 vfs_bio.c
--- sys/kern/vfs_bio.c  4 Sep 2016 10:51:24 -0000       1.176
+++ sys/kern/vfs_bio.c  6 Sep 2016 00:35:37 -0000
@@ -193,8 +193,7 @@ bufinit(void)
         */
        bufkvm &= ~(MAXPHYS - 1);
 
-       pool_init(&bufpool, sizeof(struct buf), 0, 0, 0, "bufpl", NULL);
-       pool_setipl(&bufpool, IPL_BIO);
+       pool_init(&bufpool, sizeof(struct buf), 0, IPL_BIO, 0, "bufpl", NULL);
 
        bufcache_init();
 
Index: sys/kern/vfs_cache.c
===================================================================
RCS file: /cvs/src/sys/kern/vfs_cache.c,v
retrieving revision 1.50
diff -u -p -r1.50 vfs_cache.c
--- sys/kern/vfs_cache.c        25 Aug 2016 00:01:13 -0000      1.50
+++ sys/kern/vfs_cache.c        6 Sep 2016 00:35:37 -0000
@@ -417,9 +417,8 @@ nchinit(void)
 {
        TAILQ_INIT(&nclruhead);
        TAILQ_INIT(&nclruneghead);
-       pool_init(&nch_pool, sizeof(struct namecache), 0, 0, PR_WAITOK,
+       pool_init(&nch_pool, sizeof(struct namecache), 0, IPL_NONE, PR_WAITOK,
            "nchpl", NULL);
-       pool_setipl(&nch_pool, IPL_NONE);
 }
 
 /*
Index: sys/kern/vfs_init.c
===================================================================
RCS file: /cvs/src/sys/kern/vfs_init.c,v
retrieving revision 1.37
diff -u -p -r1.37 vfs_init.c
--- sys/kern/vfs_init.c 25 Aug 2016 00:01:13 -0000      1.37
+++ sys/kern/vfs_init.c 6 Sep 2016 00:35:37 -0000
@@ -148,8 +148,8 @@ vfsinit(void)
        struct vfsconf *vfsconflist;
        int vfsconflistlen;
 
-       pool_init(&namei_pool, MAXPATHLEN, 0, 0, PR_WAITOK, "namei", NULL);
-       pool_setipl(&namei_pool, IPL_NONE);
+       pool_init(&namei_pool, MAXPATHLEN, 0, IPL_NONE, PR_WAITOK, "namei",
+           NULL);
 
        /* Initialize the vnode table. */
        vntblinit();
Index: sys/kern/vfs_lockf.c
===================================================================
RCS file: /cvs/src/sys/kern/vfs_lockf.c,v
retrieving revision 1.22
diff -u -p -r1.22 vfs_lockf.c
--- sys/kern/vfs_lockf.c        25 Aug 2016 00:01:13 -0000      1.22
+++ sys/kern/vfs_lockf.c        6 Sep 2016 00:35:37 -0000
@@ -75,9 +75,8 @@ int   lockf_debug = DEBUG_SETLOCK|DEBUG_CL
 void
 lf_init(void)
 {
-       pool_init(&lockfpool, sizeof(struct lockf), 0, 0, PR_WAITOK,
+       pool_init(&lockfpool, sizeof(struct lockf), 0, IPL_NONE, PR_WAITOK,
            "lockfpl", NULL);
-       pool_setipl(&lockfpool, IPL_NONE);
 }
 
 struct lockf *lf_alloc(uid_t, int);
Index: sys/kern/vfs_subr.c
===================================================================
RCS file: /cvs/src/sys/kern/vfs_subr.c,v
retrieving revision 1.250
diff -u -p -r1.250 vfs_subr.c
--- sys/kern/vfs_subr.c 25 Aug 2016 00:01:13 -0000      1.250
+++ sys/kern/vfs_subr.c 6 Sep 2016 00:35:37 -0000
@@ -143,12 +143,10 @@ vntblinit(void)
 {
        /* buffer cache may need a vnode for each buffer */
        maxvnodes = 2 * initialvnodes;
-       pool_init(&vnode_pool, sizeof(struct vnode), 0, 0, PR_WAITOK,
-           "vnodes", NULL);
-       pool_setipl(&vnode_pool, IPL_NONE);
-       pool_init(&uvm_vnode_pool, sizeof(struct uvm_vnode), 0, 0, PR_WAITOK,
-           "uvmvnodes", NULL);
-       pool_setipl(&uvm_vnode_pool, IPL_NONE);
+       pool_init(&vnode_pool, sizeof(struct vnode), 0, IPL_NONE,
+           PR_WAITOK, "vnodes", NULL);
+       pool_init(&uvm_vnode_pool, sizeof(struct uvm_vnode), 0, IPL_NONE,
+           PR_WAITOK, "uvmvnodes", NULL);
        TAILQ_INIT(&vnode_hold_list);
        TAILQ_INIT(&vnode_free_list);
        TAILQ_INIT(&mountlist);
Index: sys/net/art.c
===================================================================
RCS file: /cvs/src/sys/net/art.c,v
retrieving revision 1.23
diff -u -p -r1.23 art.c
--- sys/net/art.c       30 Aug 2016 07:42:57 -0000      1.23
+++ sys/net/art.c       6 Sep 2016 00:35:37 -0000
@@ -102,19 +102,14 @@ struct task                art_node_gc_task = TASK_IN
 void
 art_init(void)
 {
-       pool_init(&an_pool, sizeof(struct art_node), 0, 0, 0, "art_node", NULL);
-       pool_setipl(&an_pool, IPL_SOFTNET);
-
-       pool_init(&at_pool, sizeof(struct art_table), 0, 0, 0, "art_table",
-           NULL);
-       pool_setipl(&at_pool, IPL_SOFTNET);
-
-       pool_init(&at_heap_4_pool, AT_HEAPSIZE(4), 0, 0, 0, "art_heap4", NULL);
-       pool_setipl(&at_heap_4_pool, IPL_SOFTNET);
-
-       pool_init(&at_heap_8_pool, AT_HEAPSIZE(8), 0, 0, 0, "art_heap8",
-           &pool_allocator_single);
-       pool_setipl(&at_heap_8_pool, IPL_SOFTNET);
+       pool_init(&an_pool, sizeof(struct art_node), 0, IPL_SOFTNET, 0,
+           "art_node", NULL);
+       pool_init(&at_pool, sizeof(struct art_table), 0, IPL_SOFTNET, 0,
+           "art_table", NULL);
+       pool_init(&at_heap_4_pool, AT_HEAPSIZE(4), 0, IPL_SOFTNET, 0,
+           "art_heap4", NULL);
+       pool_init(&at_heap_8_pool, AT_HEAPSIZE(8), 0, IPL_SOFTNET, 0,
+           "art_heap8", &pool_allocator_single);
 }
 
 /*
Index: sys/net/bfd.c
===================================================================
RCS file: /cvs/src/sys/net/bfd.c,v
retrieving revision 1.19
diff -u -p -r1.19 bfd.c
--- sys/net/bfd.c       4 Sep 2016 17:12:00 -0000       1.19
+++ sys/net/bfd.c       6 Sep 2016 00:35:37 -0000
@@ -287,12 +287,10 @@ bfd_rtfree(struct rtentry *rt)
 void
 bfdinit(void)
 {
-       pool_init(&bfd_pool, sizeof(struct bfd_softc), 0, 0, 0,
+       pool_init(&bfd_pool, sizeof(struct bfd_softc), 0, IPL_SOFTNET, 0,
            "bfd_softc", NULL);
-       pool_setipl(&bfd_pool, IPL_SOFTNET);
-       pool_init(&bfd_pool_peer, sizeof(struct bfd_state), 0, 0, 0,
+       pool_init(&bfd_pool_peer, sizeof(struct bfd_state), 0, IPL_SOFTNET, 0,
            "bfd_softc_peer", NULL);
-       pool_setipl(&bfd_pool_peer, IPL_SOFTNET);
 
        bfdtq = taskq_create("bfd", 1, IPL_SOFTNET, 0);
        if (bfdtq == NULL)
Index: sys/net/hfsc.c
===================================================================
RCS file: /cvs/src/sys/net/hfsc.c,v
retrieving revision 1.32
diff -u -p -r1.32 hfsc.c
--- sys/net/hfsc.c      21 Nov 2015 01:08:49 -0000      1.32
+++ sys/net/hfsc.c      6 Sep 2016 00:35:37 -0000
@@ -315,12 +315,10 @@ hfsc_grow_class_tbl(struct hfsc_if *hif,
 void
 hfsc_initialize(void)
 {
-       pool_init(&hfsc_class_pl, sizeof(struct hfsc_class), 0, 0, PR_WAITOK,
-           "hfscclass", NULL);
-       pool_setipl(&hfsc_class_pl, IPL_NONE);
-       pool_init(&hfsc_internal_sc_pl, sizeof(struct hfsc_internal_sc), 0, 0,
-           PR_WAITOK, "hfscintsc", NULL);
-       pool_setipl(&hfsc_internal_sc_pl, IPL_NONE);
+       pool_init(&hfsc_class_pl, sizeof(struct hfsc_class), 0,
+           IPL_NONE, PR_WAITOK, "hfscclass", NULL);
+       pool_init(&hfsc_internal_sc_pl, sizeof(struct hfsc_internal_sc), 0,
+           IPL_NONE, PR_WAITOK, "hfscintsc", NULL);
 }
 
 struct hfsc_if *
Index: sys/net/if_pfsync.c
===================================================================
RCS file: /cvs/src/sys/net/if_pfsync.c,v
retrieving revision 1.230
diff -u -p -r1.230 if_pfsync.c
--- sys/net/if_pfsync.c 23 Aug 2016 12:37:44 -0000      1.230
+++ sys/net/if_pfsync.c 6 Sep 2016 00:35:37 -0000
@@ -302,8 +302,8 @@ pfsync_clone_create(struct if_clone *ifc
        for (q = 0; q < PFSYNC_S_COUNT; q++)
                TAILQ_INIT(&sc->sc_qs[q]);
 
-       pool_init(&sc->sc_pool, PFSYNC_PLSIZE, 0, 0, 0, "pfsync", NULL);
-       pool_setipl(&sc->sc_pool, IPL_SOFTNET);
+       pool_init(&sc->sc_pool, PFSYNC_PLSIZE, 0, IPL_SOFTNET, 0, "pfsync",
+           NULL);
        TAILQ_INIT(&sc->sc_upd_req_list);
        TAILQ_INIT(&sc->sc_deferrals);
        sc->sc_deferred = 0;
Index: sys/net/if_pppx.c
===================================================================
RCS file: /cvs/src/sys/net/if_pppx.c,v
retrieving revision 1.52
diff -u -p -r1.52 if_pppx.c
--- sys/net/if_pppx.c   23 Aug 2016 12:37:11 -0000      1.52
+++ sys/net/if_pppx.c   6 Sep 2016 00:35:37 -0000
@@ -248,9 +248,8 @@ pppxopen(dev_t dev, int flags, int mode,
 
        if (LIST_EMPTY(&pppx_devs) && pppx_if_pl == NULL) {
                pppx_if_pl = malloc(sizeof(*pppx_if_pl), M_DEVBUF, M_WAITOK);
-               pool_init(pppx_if_pl, sizeof(struct pppx_if), 0, 0, PR_WAITOK,
-                   "pppxif", NULL);
-               pool_setipl(pppx_if_pl, IPL_NONE);
+               pool_init(pppx_if_pl, sizeof(struct pppx_if), 0, IPL_NONE,
+                   PR_WAITOK, "pppxif", NULL);
        }
 
        pxd = malloc(sizeof(*pxd), M_DEVBUF, M_WAITOK | M_ZERO);
Index: sys/net/pf_if.c
===================================================================
RCS file: /cvs/src/sys/net/pf_if.c,v
retrieving revision 1.83
diff -u -p -r1.83 pf_if.c
--- sys/net/pf_if.c     2 Sep 2016 10:19:49 -0000       1.83
+++ sys/net/pf_if.c     6 Sep 2016 00:35:37 -0000
@@ -88,9 +88,8 @@ pfi_initialize(void)
        if (pfi_all != NULL)    /* already initialized */
                return;
 
-       pool_init(&pfi_addr_pl, sizeof(struct pfi_dynaddr), 0, 0, 0,
+       pool_init(&pfi_addr_pl, sizeof(struct pfi_dynaddr), 0, IPL_SOFTNET, 0,
            "pfiaddrpl", NULL);
-       pool_setipl(&pfi_addr_pl, IPL_SOFTNET);
        pfi_buffer_max = 64;
        pfi_buffer = mallocarray(pfi_buffer_max, sizeof(*pfi_buffer),
            PFI_MTYPE, M_WAITOK);
Index: sys/net/pf_ioctl.c
===================================================================
RCS file: /cvs/src/sys/net/pf_ioctl.c,v
retrieving revision 1.299
diff -u -p -r1.299 pf_ioctl.c
--- sys/net/pf_ioctl.c  3 Sep 2016 17:11:40 -0000       1.299
+++ sys/net/pf_ioctl.c  6 Sep 2016 00:35:37 -0000
@@ -141,30 +141,22 @@ pfattach(int num)
 {
        u_int32_t *timeout = pf_default_rule.timeout;
 
-       pool_init(&pf_rule_pl, sizeof(struct pf_rule), 0, 0, 0, "pfrule",
-           NULL);
-       pool_setipl(&pf_rule_pl, IPL_SOFTNET);
-       pool_init(&pf_src_tree_pl, sizeof(struct pf_src_node), 0, 0, 0,
-           "pfsrctr", NULL);
-       pool_setipl(&pf_src_tree_pl, IPL_SOFTNET);
-       pool_init(&pf_sn_item_pl, sizeof(struct pf_sn_item), 0, 0, 0,
-           "pfsnitem", NULL);
-       pool_setipl(&pf_sn_item_pl, IPL_SOFTNET);
-       pool_init(&pf_state_pl, sizeof(struct pf_state), 0, 0, 0, "pfstate",
-           NULL);
-       pool_setipl(&pf_state_pl, IPL_SOFTNET);
-       pool_init(&pf_state_key_pl, sizeof(struct pf_state_key), 0, 0, 0,
-           "pfstkey", NULL);
-       pool_setipl(&pf_state_key_pl, IPL_SOFTNET);
-       pool_init(&pf_state_item_pl, sizeof(struct pf_state_item), 0, 0, 0,
-           "pfstitem", NULL);
-       pool_setipl(&pf_state_item_pl, IPL_SOFTNET);
-       pool_init(&pf_rule_item_pl, sizeof(struct pf_rule_item), 0, 0, 0,
-           "pfruleitem", NULL);
-       pool_setipl(&pf_rule_item_pl, IPL_SOFTNET);
-       pool_init(&pf_queue_pl, sizeof(struct pf_queuespec), 0, 0, 0, 
-           "pfqueue", NULL);
-       pool_setipl(&pf_queue_pl, IPL_SOFTNET);
+       pool_init(&pf_rule_pl, sizeof(struct pf_rule), 0,
+           IPL_SOFTNET, 0, "pfrule", NULL);
+       pool_init(&pf_src_tree_pl, sizeof(struct pf_src_node), 0,
+           IPL_SOFTNET, 0, "pfsrctr", NULL);
+       pool_init(&pf_sn_item_pl, sizeof(struct pf_sn_item), 0,
+           IPL_SOFTNET, 0, "pfsnitem", NULL);
+       pool_init(&pf_state_pl, sizeof(struct pf_state), 0,
+           IPL_SOFTNET, 0, "pfstate", NULL);
+       pool_init(&pf_state_key_pl, sizeof(struct pf_state_key), 0,
+           IPL_SOFTNET, 0, "pfstkey", NULL);
+       pool_init(&pf_state_item_pl, sizeof(struct pf_state_item), 0,
+           IPL_SOFTNET, 0, "pfstitem", NULL);
+       pool_init(&pf_rule_item_pl, sizeof(struct pf_rule_item), 0,
+           IPL_SOFTNET, 0, "pfruleitem", NULL);
+       pool_init(&pf_queue_pl, sizeof(struct pf_queuespec), 0,
+           IPL_SOFTNET, 0, "pfqueue", NULL);
        hfsc_initialize();
        pfr_initialize();
        pfi_initialize();
Index: sys/net/pf_norm.c
===================================================================
RCS file: /cvs/src/sys/net/pf_norm.c,v
retrieving revision 1.191
diff -u -p -r1.191 pf_norm.c
--- sys/net/pf_norm.c   2 Sep 2016 10:19:49 -0000       1.191
+++ sys/net/pf_norm.c   6 Sep 2016 00:35:37 -0000
@@ -137,15 +137,12 @@ int                        pf_nfrents;
 void
 pf_normalize_init(void)
 {
-       pool_init(&pf_frent_pl, sizeof(struct pf_frent), 0, 0, 0, "pffrent",
-           NULL);
-       pool_setipl(&pf_frent_pl, IPL_SOFTNET);
-       pool_init(&pf_frag_pl, sizeof(struct pf_fragment), 0, 0, 0, "pffrag",
-           NULL);
-       pool_setipl(&pf_frag_pl, IPL_SOFTNET);
-       pool_init(&pf_state_scrub_pl, sizeof(struct pf_state_scrub), 0, 0, 0,
-           "pfstscr", NULL);
-       pool_setipl(&pf_state_scrub_pl, IPL_SOFTNET);
+       pool_init(&pf_frent_pl, sizeof(struct pf_frent), 0,
+           IPL_SOFTNET, 0, "pffrent", NULL);
+       pool_init(&pf_frag_pl, sizeof(struct pf_fragment), 0,
+           IPL_SOFTNET, 0, "pffrag", NULL);
+       pool_init(&pf_state_scrub_pl, sizeof(struct pf_state_scrub), 0,
+           IPL_SOFTNET, 0, "pfstscr", NULL);
 
        pool_sethiwat(&pf_frag_pl, PFFRAG_FRAG_HIWAT);
        pool_sethardlimit(&pf_frent_pl, PFFRAG_FRENT_HIWAT, NULL, 0);
Index: sys/net/pf_osfp.c
===================================================================
RCS file: /cvs/src/sys/net/pf_osfp.c,v
retrieving revision 1.36
diff -u -p -r1.36 pf_osfp.c
--- sys/net/pf_osfp.c   2 Sep 2016 11:43:53 -0000       1.36
+++ sys/net/pf_osfp.c   6 Sep 2016 00:35:37 -0000
@@ -53,7 +53,6 @@ typedef struct pool pool_t;
 #define pool_get(pool, flags)  malloc(*(pool))
 #define pool_put(pool, item)   free(item)
 #define pool_init(pool, size, a, ao, f, m, p)  (*(pool)) = (size)
-#define pool_setipl(pool, ipl) ((void)0)
 
 #ifdef PFDEBUG
 #include <sys/stdarg.h>        /* for DPFPRINTF() */
@@ -288,12 +287,10 @@ pf_osfp_match(struct pf_osfp_enlist *lis
 void
 pf_osfp_initialize(void)
 {
-       pool_init(&pf_osfp_entry_pl, sizeof(struct pf_osfp_entry), 0, 0,
-           PR_WAITOK, "pfosfpen", NULL);
-       pool_setipl(&pf_osfp_entry_pl, IPL_NONE);
-       pool_init(&pf_osfp_pl, sizeof(struct pf_os_fingerprint), 0, 0,
-           PR_WAITOK, "pfosfp", NULL);
-       pool_setipl(&pf_osfp_pl, IPL_NONE);
+       pool_init(&pf_osfp_entry_pl, sizeof(struct pf_osfp_entry), 0,
+           IPL_NONE, PR_WAITOK, "pfosfpen", NULL);
+       pool_init(&pf_osfp_pl, sizeof(struct pf_os_fingerprint), 0,
+           IPL_NONE, PR_WAITOK, "pfosfp", NULL);
        SLIST_INIT(&pf_osfp_list);
 }
 
Index: sys/net/pf_table.c
===================================================================
RCS file: /cvs/src/sys/net/pf_table.c,v
retrieving revision 1.117
diff -u -p -r1.117 pf_table.c
--- sys/net/pf_table.c  2 Sep 2016 10:19:49 -0000       1.117
+++ sys/net/pf_table.c  6 Sep 2016 00:35:38 -0000
@@ -215,22 +215,16 @@ pfr_initialize(void)
 {
        rn_init(sizeof(struct sockaddr_in6));
 
-       pool_init(&pfr_ktable_pl, sizeof(struct pfr_ktable), 0, 0, 0,
-           "pfrktable", NULL);
-       pool_setipl(&pfr_ktable_pl, IPL_SOFTNET);
+       pool_init(&pfr_ktable_pl, sizeof(struct pfr_ktable),
+           0, IPL_SOFTNET, 0, "pfrktable", NULL);
        pool_init(&pfr_kentry_pl[PFRKE_PLAIN], sizeof(struct pfr_kentry),
-           0, 0, 0, "pfrke_plain", NULL);
-       pool_setipl(&pfr_kentry_pl[PFRKE_PLAIN], IPL_SOFTNET);
+           0, IPL_SOFTNET, 0, "pfrke_plain", NULL);
        pool_init(&pfr_kentry_pl[PFRKE_ROUTE], sizeof(struct pfr_kentry_route),
-           0, 0, 0, "pfrke_route", NULL);
-       pool_setipl(&pfr_kentry_pl[PFRKE_ROUTE], IPL_SOFTNET);
+           0, IPL_SOFTNET, 0, "pfrke_route", NULL);
        pool_init(&pfr_kentry_pl[PFRKE_COST], sizeof(struct pfr_kentry_cost),
-           0, 0, 0, "pfrke_cost", NULL);
-       pool_setipl(&pfr_kentry_pl[PFRKE_COST], IPL_SOFTNET);
-
+           0, IPL_SOFTNET, 0, "pfrke_cost", NULL);
        pool_init(&pfr_kcounters_pl, sizeof(struct pfr_kcounters),
-           0, 0, 0, "pfrkcounters", NULL);
-       pool_setipl(&pfr_kcounters_pl, IPL_SOFTNET);
+           0, IPL_SOFTNET, 0, "pfrkcounters", NULL);
 
        pfr_sin.sin_len = sizeof(pfr_sin);
        pfr_sin.sin_family = AF_INET;
Index: sys/net/pfkeyv2.c
===================================================================
RCS file: /cvs/src/sys/net/pfkeyv2.c,v
retrieving revision 1.147
diff -u -p -r1.147 pfkeyv2.c
--- sys/net/pfkeyv2.c   30 Aug 2016 23:30:37 -0000      1.147
+++ sys/net/pfkeyv2.c   6 Sep 2016 00:35:38 -0000
@@ -1517,9 +1517,8 @@ pfkeyv2_send(struct socket *socket, void
                        if (ipsec_policy_pool_initialized == 0) {
                                ipsec_policy_pool_initialized = 1;
                                pool_init(&ipsec_policy_pool,
-                                   sizeof(struct ipsec_policy), 0, 0, 0,
-                                   "ipsec policy", NULL);
-                               pool_setipl(&ipsec_policy_pool, IPL_NONE);
+                                   sizeof(struct ipsec_policy), 0,
+                                   IPL_NONE, 0, "ipsec policy", NULL);
                        }
 
                        /* Allocate policy entry */
Index: sys/net/pipex.c
===================================================================
RCS file: /cvs/src/sys/net/pipex.c,v
retrieving revision 1.88
diff -u -p -r1.88 pipex.c
--- sys/net/pipex.c     30 Aug 2016 23:29:04 -0000      1.88
+++ sys/net/pipex.c     6 Sep 2016 00:35:38 -0000
@@ -131,12 +131,10 @@ pipex_init(void)
 
        rn_init(sizeof(struct sockaddr_in6));
 
-       pool_init(&pipex_session_pool, sizeof(struct pipex_session), 0, 0,
-           PR_WAITOK, "ppxss", NULL);
-       pool_setipl(&pipex_session_pool, IPL_NONE);
-       pool_init(&mppe_key_pool, PIPEX_MPPE_KEYLEN * PIPEX_MPPE_NOLDKEY, 0, 0,
-           PR_WAITOK, "mppekey", NULL);
-       pool_setipl(&mppe_key_pool, IPL_NONE);
+       pool_init(&pipex_session_pool, sizeof(struct pipex_session), 0,
+           IPL_NONE, PR_WAITOK, "ppxss", NULL);
+       pool_init(&mppe_key_pool, PIPEX_MPPE_KEYLEN * PIPEX_MPPE_NOLDKEY, 0,
+           IPL_NONE, PR_WAITOK, "mppekey", NULL);
 
        LIST_INIT(&pipex_session_list);
        LIST_INIT(&pipex_close_wait_list);
Index: sys/net/ppp_tty.c
===================================================================
RCS file: /cvs/src/sys/net/ppp_tty.c,v
retrieving revision 1.43
diff -u -p -r1.43 ppp_tty.c
--- sys/net/ppp_tty.c   25 Jan 2016 18:47:00 -0000      1.43
+++ sys/net/ppp_tty.c   6 Sep 2016 00:35:38 -0000
@@ -173,8 +173,8 @@ pppopen(dev_t dev, struct tty *tp, struc
     if (ppp_pkts.pr_size == 0) {
        extern struct kmem_pa_mode kp_dma_contig;
 
-       pool_init(&ppp_pkts, sizeof(struct ppp_pkt), 0, 0, 0, "ppppkts", NULL);
-       pool_setipl(&ppp_pkts, IPL_TTY); /* IPL_SOFTTTY */
+       pool_init(&ppp_pkts, sizeof(struct ppp_pkt), 0,
+         IPL_TTY, 0, "ppppkts", NULL); /* IPL_SOFTTTY */
        pool_set_constraints(&ppp_pkts, &kp_dma_contig);
     }
     rw_exit_write(&ppp_pkt_init);
Index: sys/net/radix.c
===================================================================
RCS file: /cvs/src/sys/net/radix.c,v
retrieving revision 1.53
diff -u -p -r1.53 radix.c
--- sys/net/radix.c     30 Aug 2016 23:29:39 -0000      1.53
+++ sys/net/radix.c     6 Sep 2016 00:35:38 -0000
@@ -1223,9 +1223,8 @@ rn_init(unsigned int keylen)
        char *cp, *cplim;
 
        if (max_keylen == 0) {
-               pool_init(&rtmask_pool, sizeof(struct radix_mask), 0, 0, 0,
-                   "rtmask", NULL);
-               pool_setipl(&rtmask_pool, IPL_SOFTNET);
+               pool_init(&rtmask_pool, sizeof(struct radix_mask), 0,
+                   IPL_SOFTNET, 0, "rtmask", NULL);
        }
 
        if (keylen <= max_keylen)
Index: sys/net/route.c
===================================================================
RCS file: /cvs/src/sys/net/route.c,v
retrieving revision 1.325
diff -u -p -r1.325 route.c
--- sys/net/route.c     4 Sep 2016 15:45:42 -0000       1.325
+++ sys/net/route.c     6 Sep 2016 00:35:38 -0000
@@ -191,9 +191,8 @@ TAILQ_HEAD(rt_labels, rt_label)     rt_label
 void
 route_init(void)
 {
-       pool_init(&rtentry_pool, sizeof(struct rtentry), 0, 0, 0, "rtentry",
-           NULL);
-       pool_setipl(&rtentry_pool, IPL_SOFTNET);
+       pool_init(&rtentry_pool, sizeof(struct rtentry), 0, IPL_SOFTNET, 0,
+           "rtentry", NULL);
 
        while (rt_hashjitter == 0)
                rt_hashjitter = arc4random();
@@ -1466,9 +1465,8 @@ rt_timer_init(void)
        if (rt_init_done)
                panic("rt_timer_init: already initialized");
 
-       pool_init(&rttimer_pool, sizeof(struct rttimer), 0, 0, 0, "rttmr",
-           NULL);
-       pool_setipl(&rttimer_pool, IPL_SOFTNET);
+       pool_init(&rttimer_pool, sizeof(struct rttimer), 0, IPL_SOFTNET, 0,
+           "rttmr", NULL);
 
        LIST_INIT(&rttimer_queue_head);
        timeout_set(&rt_timer_timeout, rt_timer_timer, &rt_timer_timeout);
Index: sys/netinet/if_ether.c
===================================================================
RCS file: /cvs/src/sys/netinet/if_ether.c,v
retrieving revision 1.222
diff -u -p -r1.222 if_ether.c
--- sys/netinet/if_ether.c      6 Sep 2016 00:04:15 -0000       1.222
+++ sys/netinet/if_ether.c      6 Sep 2016 00:35:38 -0000
@@ -135,9 +135,8 @@ arp_rtrequest(struct ifnet *ifp, int req
                static struct timeout arptimer_to;
 
                arpinit_done = 1;
-               pool_init(&arp_pool, sizeof(struct llinfo_arp), 0, 0, 0, "arp",
-                   NULL);
-               pool_setipl(&arp_pool, IPL_SOFTNET);
+               pool_init(&arp_pool, sizeof(struct llinfo_arp), 0,
+                   IPL_SOFTNET, 0, "arp", NULL);
 
                timeout_set(&arptimer_to, arptimer, &arptimer_to);
                timeout_add_sec(&arptimer_to, 1);
Index: sys/netinet/in_pcb.c
===================================================================
RCS file: /cvs/src/sys/netinet/in_pcb.c,v
retrieving revision 1.214
diff -u -p -r1.214 in_pcb.c
--- sys/netinet/in_pcb.c        6 Sep 2016 00:04:15 -0000       1.214
+++ sys/netinet/in_pcb.c        6 Sep 2016 00:35:38 -0000
@@ -255,9 +255,8 @@ in_pcballoc(struct socket *so, struct in
        splsoftassert(IPL_SOFTNET);
 
        if (inpcb_pool_initialized == 0) {
-               pool_init(&inpcb_pool, sizeof(struct inpcb), 0, 0, 0,
-                   "inpcbpl", NULL);
-               pool_setipl(&inpcb_pool, IPL_SOFTNET);
+               pool_init(&inpcb_pool, sizeof(struct inpcb), 0,
+                   IPL_SOFTNET, 0, "inpcbpl", NULL);
                inpcb_pool_initialized = 1;
        }
        inp = pool_get(&inpcb_pool, PR_NOWAIT|PR_ZERO);
Index: sys/netinet/ip_input.c
===================================================================
RCS file: /cvs/src/sys/netinet/ip_input.c,v
retrieving revision 1.280
diff -u -p -r1.280 ip_input.c
--- sys/netinet/ip_input.c      6 Sep 2016 00:04:15 -0000       1.280
+++ sys/netinet/ip_input.c      6 Sep 2016 00:35:39 -0000
@@ -166,10 +166,10 @@ ip_init(void)
        const u_int16_t defrootonlyports_tcp[] = DEFROOTONLYPORTS_TCP;
        const u_int16_t defrootonlyports_udp[] = DEFROOTONLYPORTS_UDP;
 
-       pool_init(&ipqent_pool, sizeof(struct ipqent), 0, 0, 0, "ipqe",  NULL);
-       pool_setipl(&ipqent_pool, IPL_SOFTNET);
-       pool_init(&ipq_pool, sizeof(struct ipq), 0, 0, 0, "ipq", NULL);
-       pool_setipl(&ipq_pool, IPL_SOFTNET);
+       pool_init(&ipqent_pool, sizeof(struct ipqent), 0,
+           IPL_SOFTNET, 0, "ipqe",  NULL);
+       pool_init(&ipq_pool, sizeof(struct ipq), 0,
+           IPL_SOFTNET, 0, "ipq", NULL);
 
        pr = pffindproto(PF_INET, IPPROTO_RAW, SOCK_RAW);
        if (pr == NULL)
Index: sys/netinet/ip_spd.c
===================================================================
RCS file: /cvs/src/sys/netinet/ip_spd.c,v
retrieving revision 1.89
diff -u -p -r1.89 ip_spd.c
--- sys/netinet/ip_spd.c        6 Sep 2016 00:04:15 -0000       1.89
+++ sys/netinet/ip_spd.c        6 Sep 2016 00:35:39 -0000
@@ -669,8 +669,7 @@ ipsp_acquire_sa(struct ipsec_policy *ipo
        if (ipsec_acquire_pool_initialized == 0) {
                ipsec_acquire_pool_initialized = 1;
                pool_init(&ipsec_acquire_pool, sizeof(struct ipsec_acquire),
-                   0, 0, 0, "ipsec acquire", NULL);
-               pool_setipl(&ipsec_acquire_pool, IPL_SOFTNET);
+                   0, IPL_SOFTNET, 0, "ipsec acquire", NULL);
        }
 
        ipa = pool_get(&ipsec_acquire_pool, PR_NOWAIT|PR_ZERO);
Index: sys/netinet/tcp_input.c
===================================================================
RCS file: /cvs/src/sys/netinet/tcp_input.c,v
retrieving revision 1.326
diff -u -p -r1.326 tcp_input.c
--- sys/netinet/tcp_input.c     31 Aug 2016 11:05:05 -0000      1.326
+++ sys/netinet/tcp_input.c     6 Sep 2016 00:35:39 -0000
@@ -3372,9 +3372,8 @@ syn_cache_init(void)
        }
 
        /* Initialize the syn cache pool. */
-       pool_init(&syn_cache_pool, sizeof(struct syn_cache), 0, 0, 0,
-           "syncache", NULL);
-       pool_setipl(&syn_cache_pool, IPL_SOFTNET);
+       pool_init(&syn_cache_pool, sizeof(struct syn_cache), 0, IPL_SOFTNET,
+           0, "syncache", NULL);
 }
 
 void
Index: sys/netinet/tcp_subr.c
===================================================================
RCS file: /cvs/src/sys/netinet/tcp_subr.c,v
retrieving revision 1.154
diff -u -p -r1.154 tcp_subr.c
--- sys/netinet/tcp_subr.c      6 Sep 2016 00:04:15 -0000       1.154
+++ sys/netinet/tcp_subr.c      6 Sep 2016 00:35:40 -0000
@@ -141,15 +141,14 @@ void
 tcp_init(void)
 {
        tcp_iss = 1;            /* wrong */
-       pool_init(&tcpcb_pool, sizeof(struct tcpcb), 0, 0, 0, "tcpcb", NULL);
-       pool_setipl(&tcpcb_pool, IPL_SOFTNET);
-       pool_init(&tcpqe_pool, sizeof(struct tcpqent), 0, 0, 0, "tcpqe", NULL);
-       pool_setipl(&tcpcb_pool, IPL_SOFTNET);
+       pool_init(&tcpcb_pool, sizeof(struct tcpcb), 0, IPL_SOFTNET, 0,
+           "tcpcb", NULL);
+       pool_init(&tcpqe_pool, sizeof(struct tcpqent), 0, IPL_SOFTNET, 0,
+           "tcpqe", NULL);
        pool_sethardlimit(&tcpqe_pool, tcp_reass_limit, NULL, 0);
 #ifdef TCP_SACK
-       pool_init(&sackhl_pool, sizeof(struct sackhole), 0, 0, 0, "sackhl",
-           NULL);
-       pool_setipl(&sackhl_pool, IPL_SOFTNET);
+       pool_init(&sackhl_pool, sizeof(struct sackhole), 0, IPL_SOFTNET, 0,
+           "sackhl", NULL);
        pool_sethardlimit(&sackhl_pool, tcp_sackhole_limit, NULL, 0);
 #endif /* TCP_SACK */
        in_pcbinit(&tcbtable, TCB_INITIAL_HASH_SIZE);
Index: sys/netinet6/nd6.c
===================================================================
RCS file: /cvs/src/sys/netinet6/nd6.c,v
retrieving revision 1.191
diff -u -p -r1.191 nd6.c
--- sys/netinet6/nd6.c  6 Sep 2016 00:04:15 -0000       1.191
+++ sys/netinet6/nd6.c  6 Sep 2016 00:35:41 -0000
@@ -116,8 +116,8 @@ nd6_init(void)
        }
 
        TAILQ_INIT(&nd6_list);
-       pool_init(&nd6_pool, sizeof(struct llinfo_nd6), 0, 0, 0, "nd6", NULL);
-       pool_setipl(&nd6_pool, IPL_SOFTNET);
+       pool_init(&nd6_pool, sizeof(struct llinfo_nd6), 0,
+           IPL_SOFTNET, 0, "nd6", NULL);
 
        /* initialization of the default router list */
        TAILQ_INIT(&nd_defrouter);
Index: sys/nfs/nfs_subs.c
===================================================================
RCS file: /cvs/src/sys/nfs/nfs_subs.c,v
retrieving revision 1.132
diff -u -p -r1.132 nfs_subs.c
--- sys/nfs/nfs_subs.c  30 Aug 2016 07:12:49 -0000      1.132
+++ sys/nfs/nfs_subs.c  6 Sep 2016 00:35:41 -0000
@@ -897,9 +897,8 @@ nfs_init(void)
        nfsrv_initcache();              /* Init the server request cache */
 #endif /* NFSSERVER */
 
-       pool_init(&nfsreqpl, sizeof(struct nfsreq), 0, 0, PR_WAITOK,
+       pool_init(&nfsreqpl, sizeof(struct nfsreq), 0, IPL_NONE, PR_WAITOK,
            "nfsreqpl", NULL);
-       pool_setipl(&nfsreqpl, IPL_NONE);
 }
 
 #ifdef NFSCLIENT
@@ -910,9 +909,8 @@ nfs_vfs_init(struct vfsconf *vfsp)
 
        TAILQ_INIT(&nfs_bufq);
 
-       pool_init(&nfs_node_pool, sizeof(struct nfsnode), 0, 0, PR_WAITOK,
-           "nfsnodepl", NULL);
-       pool_setipl(&nfs_node_pool, IPL_NONE);
+       pool_init(&nfs_node_pool, sizeof(struct nfsnode), 0, IPL_NONE,
+                 PR_WAITOK, "nfsnodepl", NULL);
 
        return (0);
 }
Index: sys/nfs/nfs_syscalls.c
===================================================================
RCS file: /cvs/src/sys/nfs/nfs_syscalls.c,v
retrieving revision 1.105
diff -u -p -r1.105 nfs_syscalls.c
--- sys/nfs/nfs_syscalls.c      30 Aug 2016 07:12:49 -0000      1.105
+++ sys/nfs/nfs_syscalls.c      6 Sep 2016 00:35:41 -0000
@@ -547,8 +547,7 @@ nfsrv_init(int terminating)
 
        if (!terminating) {
                pool_init(&nfsrv_descript_pl, sizeof(struct nfsrv_descript),
-                   0, 0, PR_WAITOK, "ndscpl", NULL);
-               pool_setipl(&nfsrv_descript_pl, IPL_NONE);
+                   0, IPL_NONE, PR_WAITOK, "ndscpl", NULL);
        }
 }
 #endif /* NFSSERVER */
Index: sys/scsi/scsi_base.c
===================================================================
RCS file: /cvs/src/sys/scsi/scsi_base.c,v
retrieving revision 1.224
diff -u -p -r1.224 scsi_base.c
--- sys/scsi/scsi_base.c        12 Mar 2016 15:16:04 -0000      1.224
+++ sys/scsi/scsi_base.c        6 Sep 2016 00:35:41 -0000
@@ -126,13 +126,10 @@ scsi_init(void)
 #endif
 
        /* Initialize the scsi_xfer pool. */
-       pool_init(&scsi_xfer_pool, sizeof(struct scsi_xfer), 0,
-           0, 0, "scxspl", NULL);
-       pool_setipl(&scsi_xfer_pool, IPL_BIO);
-       /* Initialize the scsi_plug pool */
-       pool_init(&scsi_plug_pool, sizeof(struct scsi_plug), 0,
-           0, 0, "scsiplug", NULL);
-       pool_setipl(&scsi_plug_pool, IPL_BIO);
+       pool_init(&scsi_xfer_pool, sizeof(struct scsi_xfer), 0, IPL_BIO, 0,
+           "scxspl", NULL);
+       pool_init(&scsi_plug_pool, sizeof(struct scsi_plug), 0, IPL_BIO, 0,
+           "scsiplug", NULL);
 }
 
 int
Index: sys/tmpfs/tmpfs_vfsops.c
===================================================================
RCS file: /cvs/src/sys/tmpfs/tmpfs_vfsops.c,v
retrieving revision 1.11
diff -u -p -r1.11 tmpfs_vfsops.c
--- sys/tmpfs/tmpfs_vfsops.c    23 Aug 2016 04:28:18 -0000      1.11
+++ sys/tmpfs/tmpfs_vfsops.c    6 Sep 2016 00:35:41 -0000
@@ -73,12 +73,10 @@ int
 tmpfs_init(struct vfsconf *vfsp)
 {
 
-       pool_init(&tmpfs_dirent_pool, sizeof(tmpfs_dirent_t), 0, 0, PR_WAITOK,
-           "tmpfs_dirent", NULL);
-       pool_setipl(&tmpfs_dirent_pool, IPL_NONE);
-       pool_init(&tmpfs_node_pool, sizeof(tmpfs_node_t), 0, 0, PR_WAITOK,
-           "tmpfs_node", NULL);
-       pool_setipl(&tmpfs_node_pool, IPL_NONE);
+       pool_init(&tmpfs_dirent_pool, sizeof(tmpfs_dirent_t), 0, IPL_NONE,
+           PR_WAITOK, "tmpfs_dirent", NULL);
+       pool_init(&tmpfs_node_pool, sizeof(tmpfs_node_t), 0, IPL_NONE,
+           PR_WAITOK, "tmpfs_node", NULL);
 
        return 0;
 }
Index: sys/ufs/ext2fs/ext2fs_vfsops.c
===================================================================
RCS file: /cvs/src/sys/ufs/ext2fs/ext2fs_vfsops.c,v
retrieving revision 1.95
diff -u -p -r1.95 ext2fs_vfsops.c
--- sys/ufs/ext2fs/ext2fs_vfsops.c      13 Aug 2016 21:28:09 -0000      1.95
+++ sys/ufs/ext2fs/ext2fs_vfsops.c      6 Sep 2016 00:35:41 -0000
@@ -93,12 +93,10 @@ extern u_long ext2gennumber;
 int
 ext2fs_init(struct vfsconf *vfsp)
 {
-       pool_init(&ext2fs_inode_pool, sizeof(struct inode), 0, 0, PR_WAITOK,
-           "ext2inopl", NULL);
-       pool_setipl(&ext2fs_inode_pool, IPL_NONE);
-       pool_init(&ext2fs_dinode_pool, sizeof(struct ext2fs_dinode), 0, 0,
-           PR_WAITOK, "ext2dinopl", NULL);
-       pool_setipl(&ext2fs_dinode_pool, IPL_NONE);
+       pool_init(&ext2fs_inode_pool, sizeof(struct inode), 0,
+           IPL_NONE, PR_WAITOK, "ext2inopl", NULL);
+       pool_init(&ext2fs_dinode_pool, sizeof(struct ext2fs_dinode), 0,
+           IPL_NONE, PR_WAITOK, "ext2dinopl", NULL);
 
        return (ufs_init(vfsp));
 }
Index: sys/ufs/ffs/ffs_softdep.c
===================================================================
RCS file: /cvs/src/sys/ufs/ffs/ffs_softdep.c,v
retrieving revision 1.133
diff -u -p -r1.133 ffs_softdep.c
--- sys/ufs/ffs/ffs_softdep.c   19 Jun 2016 10:21:56 -0000      1.133
+++ sys/ufs/ffs/ffs_softdep.c   6 Sep 2016 00:35:42 -0000
@@ -1175,48 +1175,34 @@ softdep_initialize(void)
        newblk_hashtbl = hashinit(64, M_NEWBLK, M_WAITOK, &newblk_hash);
        sema_init(&newblk_in_progress, "newblk", PRIBIO, 0);
        timeout_set(&proc_waiting_timeout, pause_timer, NULL);
-       pool_init(&pagedep_pool, sizeof(struct pagedep), 0, 0, PR_WAITOK,
-           "pagedep", NULL);
-       pool_setipl(&pagedep_pool, IPL_NONE);
-       pool_init(&inodedep_pool, sizeof(struct inodedep), 0, 0, PR_WAITOK,
-           "inodedep", NULL);
-       pool_setipl(&inodedep_pool, IPL_NONE);
-       pool_init(&newblk_pool, sizeof(struct newblk), 0, 0, PR_WAITOK,
-           "newblk", NULL);
-       pool_setipl(&newblk_pool, IPL_NONE);
-       pool_init(&bmsafemap_pool, sizeof(struct bmsafemap), 0, 0, PR_WAITOK,
-           "bmsafemap", NULL);
-       pool_setipl(&bmsafemap_pool, IPL_NONE);
-       pool_init(&allocdirect_pool, sizeof(struct allocdirect), 0, 0, 
PR_WAITOK,
-           "allocdir", NULL);
-       pool_setipl(&allocdirect_pool, IPL_NONE);
-       pool_init(&indirdep_pool, sizeof(struct indirdep), 0, 0, PR_WAITOK,
-           "indirdep", NULL);
-       pool_setipl(&indirdep_pool, IPL_NONE);
-       pool_init(&allocindir_pool, sizeof(struct allocindir), 0, 0, PR_WAITOK,
-           "allocindir", NULL);
-       pool_setipl(&allocindir_pool, IPL_NONE);
-       pool_init(&freefrag_pool, sizeof(struct freefrag), 0, 0, PR_WAITOK,
-           "freefrag", NULL);
-       pool_setipl(&freefrag_pool, IPL_NONE);
-       pool_init(&freeblks_pool, sizeof(struct freeblks), 0, 0, PR_WAITOK,
-           "freeblks", NULL);
-       pool_setipl(&freeblks_pool, IPL_NONE);
-       pool_init(&freefile_pool, sizeof(struct freefile), 0, 0, PR_WAITOK,
-           "freefile", NULL);
-       pool_setipl(&freefile_pool, IPL_NONE);
-       pool_init(&diradd_pool, sizeof(struct diradd), 0, 0, PR_WAITOK,
-           "diradd", NULL);
-       pool_setipl(&diradd_pool, IPL_NONE);
-       pool_init(&mkdir_pool, sizeof(struct mkdir), 0, 0, PR_WAITOK,
-           "mkdir", NULL);
-       pool_setipl(&mkdir_pool, IPL_NONE);
-       pool_init(&dirrem_pool, sizeof(struct dirrem), 0, 0, PR_WAITOK,
-           "dirrem", NULL);
-       pool_setipl(&dirrem_pool, IPL_NONE);
-       pool_init(&newdirblk_pool, sizeof(struct newdirblk), 0, 0, PR_WAITOK,
-           "newdirblk", NULL);
-       pool_setipl(&newdirblk_pool, IPL_NONE);
+       pool_init(&pagedep_pool, sizeof(struct pagedep), 0, IPL_NONE,
+           PR_WAITOK, "pagedep", NULL);
+       pool_init(&inodedep_pool, sizeof(struct inodedep), 0, IPL_NONE,
+           PR_WAITOK, "inodedep", NULL);
+       pool_init(&newblk_pool, sizeof(struct newblk), 0, IPL_NONE,
+           PR_WAITOK, "newblk", NULL);
+       pool_init(&bmsafemap_pool, sizeof(struct bmsafemap), 0, IPL_NONE,
+           PR_WAITOK, "bmsafemap", NULL);
+       pool_init(&allocdirect_pool, sizeof(struct allocdirect), 0, IPL_NONE,
+           PR_WAITOK, "allocdir", NULL);
+       pool_init(&indirdep_pool, sizeof(struct indirdep), 0, IPL_NONE,
+           PR_WAITOK, "indirdep", NULL);
+       pool_init(&allocindir_pool, sizeof(struct allocindir), 0, IPL_NONE,
+           PR_WAITOK, "allocindir", NULL);
+       pool_init(&freefrag_pool, sizeof(struct freefrag), 0, IPL_NONE,
+           PR_WAITOK, "freefrag", NULL);
+       pool_init(&freeblks_pool, sizeof(struct freeblks), 0, IPL_NONE,
+           PR_WAITOK, "freeblks", NULL);
+       pool_init(&freefile_pool, sizeof(struct freefile), 0, IPL_NONE,
+           PR_WAITOK, "freefile", NULL);
+       pool_init(&diradd_pool, sizeof(struct diradd), 0, IPL_NONE,
+           PR_WAITOK, "diradd", NULL);
+       pool_init(&mkdir_pool, sizeof(struct mkdir), 0, IPL_NONE,
+           PR_WAITOK, "mkdir", NULL);
+       pool_init(&dirrem_pool, sizeof(struct dirrem), 0, IPL_NONE,
+           PR_WAITOK, "dirrem", NULL);
+       pool_init(&newdirblk_pool, sizeof(struct newdirblk), 0, IPL_NONE,
+           PR_WAITOK, "newdirblk", NULL);
 }
 
 /*
Index: sys/ufs/ffs/ffs_vfsops.c
===================================================================
RCS file: /cvs/src/sys/ufs/ffs/ffs_vfsops.c,v
retrieving revision 1.162
diff -u -p -r1.162 ffs_vfsops.c
--- sys/ufs/ffs/ffs_vfsops.c    13 Aug 2016 21:28:09 -0000      1.162
+++ sys/ufs/ffs/ffs_vfsops.c    6 Sep 2016 00:35:42 -0000
@@ -1519,16 +1519,13 @@ ffs_init(struct vfsconf *vfsp)
 
        done = 1;
 
-       pool_init(&ffs_ino_pool, sizeof(struct inode), 0, 0, PR_WAITOK,
-           "ffsino", NULL);
-       pool_setipl(&ffs_ino_pool, IPL_NONE);
-       pool_init(&ffs_dinode1_pool, sizeof(struct ufs1_dinode), 0, 0,
+       pool_init(&ffs_ino_pool, sizeof(struct inode), 0, IPL_NONE,
+           PR_WAITOK, "ffsino", NULL);
+       pool_init(&ffs_dinode1_pool, sizeof(struct ufs1_dinode), 0, IPL_NONE,
            PR_WAITOK, "dino1pl", NULL);
-       pool_setipl(&ffs_dinode1_pool, IPL_NONE);
 #ifdef FFS2
-       pool_init(&ffs_dinode2_pool, sizeof(struct ufs2_dinode), 0, 0,
+       pool_init(&ffs_dinode2_pool, sizeof(struct ufs2_dinode), 0, IPL_NONE,
            PR_WAITOK, "dino2pl", NULL);
-       pool_setipl(&ffs_dinode2_pool, IPL_NONE);
 #endif
 
        softdep_initialize();
Index: sys/ufs/ufs/ufs_dirhash.c
===================================================================
RCS file: /cvs/src/sys/ufs/ufs/ufs_dirhash.c,v
retrieving revision 1.37
diff -u -p -r1.37 ufs_dirhash.c
--- sys/ufs/ufs/ufs_dirhash.c   19 Jun 2016 10:21:56 -0000      1.37
+++ sys/ufs/ufs/ufs_dirhash.c   6 Sep 2016 00:35:42 -0000
@@ -1047,9 +1047,8 @@ ufsdirhash_recycle(int wanted)
 void
 ufsdirhash_init(void)
 {
-       pool_init(&ufsdirhash_pool, DH_NBLKOFF * sizeof(doff_t), 0, 0,
+       pool_init(&ufsdirhash_pool, DH_NBLKOFF * sizeof(doff_t), 0, IPL_NONE,
            PR_WAITOK, "dirhash", NULL);
-       pool_setipl(&ufsdirhash_pool, IPL_NONE);
        mtx_init(&ufsdirhash_mtx, IPL_NONE);
        arc4random_buf(&ufsdirhash_key, sizeof(ufsdirhash_key));
        TAILQ_INIT(&ufsdirhash_list);
Index: sys/uvm/uvm_addr.c
===================================================================
RCS file: /cvs/src/sys/uvm/uvm_addr.c,v
retrieving revision 1.18
diff -u -p -r1.18 uvm_addr.c
--- sys/uvm/uvm_addr.c  2 Sep 2016 16:45:12 -0000       1.18
+++ sys/uvm/uvm_addr.c  6 Sep 2016 00:35:42 -0000
@@ -287,21 +287,16 @@ uvm_addr_fitspace(vaddr_t *min_result, v
 void
 uvm_addr_init(void)
 {
-       pool_init(&uaddr_pool, sizeof(struct uvm_addr_state),
-           0, 0, PR_WAITOK, "uaddr", NULL);
-       pool_setipl(&uaddr_pool, IPL_VM);
-       pool_init(&uaddr_hint_pool, sizeof(struct uaddr_hint_state),
-           0, 0, PR_WAITOK, "uaddrhint", NULL);
-       pool_setipl(&uaddr_hint_pool, IPL_VM);
-       pool_init(&uaddr_bestfit_pool, sizeof(struct uaddr_bestfit_state),
-           0, 0, PR_WAITOK, "uaddrbest", NULL);
-       pool_setipl(&uaddr_bestfit_pool, IPL_VM);
-       pool_init(&uaddr_pivot_pool, sizeof(struct uaddr_pivot_state),
-           0, 0, PR_WAITOK, "uaddrpivot", NULL);
-       pool_setipl(&uaddr_pivot_pool, IPL_VM);
-       pool_init(&uaddr_rnd_pool, sizeof(struct uaddr_rnd_state),
-           0, 0, PR_WAITOK, "uaddrrnd", NULL);
-       pool_setipl(&uaddr_rnd_pool, IPL_VM);
+       pool_init(&uaddr_pool, sizeof(struct uvm_addr_state), 0,
+           IPL_VM, PR_WAITOK, "uaddr", NULL);
+       pool_init(&uaddr_hint_pool, sizeof(struct uaddr_hint_state), 0,
+           IPL_VM, PR_WAITOK, "uaddrhint", NULL);
+       pool_init(&uaddr_bestfit_pool, sizeof(struct uaddr_bestfit_state), 0,
+           IPL_VM, PR_WAITOK, "uaddrbest", NULL);
+       pool_init(&uaddr_pivot_pool, sizeof(struct uaddr_pivot_state), 0,
+           IPL_VM, PR_WAITOK, "uaddrpivot", NULL);
+       pool_init(&uaddr_rnd_pool, sizeof(struct uaddr_rnd_state), 0,
+           IPL_VM, PR_WAITOK, "uaddrrnd", NULL);
 
        uaddr_kbootstrap.uaddr_minaddr = PAGE_SIZE;
        uaddr_kbootstrap.uaddr_maxaddr = -(vaddr_t)PAGE_SIZE;
Index: sys/uvm/uvm_amap.c
===================================================================
RCS file: /cvs/src/sys/uvm/uvm_amap.c,v
retrieving revision 1.76
diff -u -p -r1.76 uvm_amap.c
--- sys/uvm/uvm_amap.c  27 Jul 2016 14:48:56 -0000      1.76
+++ sys/uvm/uvm_amap.c  6 Sep 2016 00:35:42 -0000
@@ -235,9 +235,8 @@ amap_init(void)
        size_t size;
 
        /* Initialize the vm_amap pool. */
-       pool_init(&uvm_amap_pool, sizeof(struct vm_amap), 0, 0, PR_WAITOK,
-           "amappl", NULL);
-       pool_setipl(&uvm_amap_pool, IPL_NONE);
+       pool_init(&uvm_amap_pool, sizeof(struct vm_amap),
+           0, IPL_NONE, PR_WAITOK, "amappl", NULL);
        pool_sethiwat(&uvm_amap_pool, 4096);
 
        /* initialize small amap pools */
@@ -246,16 +245,13 @@ amap_init(void)
                    sizeof(amap_small_pool_names[0]), "amappl%d", i + 1);
                size = offsetof(struct vm_amap, am_small.ac_anon) +
                    (i + 1) * sizeof(struct vm_anon *);
-               pool_init(&uvm_small_amap_pool[i], size, 0, 0, 0,
-                   amap_small_pool_names[i], NULL);
-               pool_setipl(&uvm_small_amap_pool[i], IPL_NONE);
+               pool_init(&uvm_small_amap_pool[i], size, 0,
+                   IPL_NONE, 0, amap_small_pool_names[i], NULL);
        }
 
-       pool_init(&uvm_amap_chunk_pool,
-           sizeof(struct vm_amap_chunk) +
-           UVM_AMAP_CHUNK * sizeof(struct vm_anon *), 0, 0, 0,
-           "amapchunkpl", NULL);
-       pool_setipl(&uvm_amap_chunk_pool, IPL_NONE);
+       pool_init(&uvm_amap_chunk_pool, sizeof(struct vm_amap_chunk) +
+           UVM_AMAP_CHUNK * sizeof(struct vm_anon *),
+           0, IPL_NONE, 0, "amapchunkpl", NULL);
        pool_sethiwat(&uvm_amap_chunk_pool, 4096);
 }
 
Index: sys/uvm/uvm_anon.c
===================================================================
RCS file: /cvs/src/sys/uvm/uvm_anon.c,v
retrieving revision 1.47
diff -u -p -r1.47 uvm_anon.c
--- sys/uvm/uvm_anon.c  17 Jun 2016 10:48:25 -0000      1.47
+++ sys/uvm/uvm_anon.c  6 Sep 2016 00:35:42 -0000
@@ -48,9 +48,8 @@ struct pool uvm_anon_pool;
 void
 uvm_anon_init(void)
 {
-       pool_init(&uvm_anon_pool, sizeof(struct vm_anon), 0, 0,
+       pool_init(&uvm_anon_pool, sizeof(struct vm_anon), 0, IPL_NONE,
            PR_WAITOK, "anonpl", NULL);
-       pool_setipl(&uvm_anon_pool, IPL_NONE);
        pool_sethiwat(&uvm_anon_pool, uvmexp.free / 16);
 }
 
Index: sys/uvm/uvm_aobj.c
===================================================================
RCS file: /cvs/src/sys/uvm/uvm_aobj.c,v
retrieving revision 1.81
diff -u -p -r1.81 uvm_aobj.c
--- sys/uvm/uvm_aobj.c  17 Jun 2016 10:48:25 -0000      1.81
+++ sys/uvm/uvm_aobj.c  6 Sep 2016 00:35:42 -0000
@@ -797,13 +797,10 @@ uao_init(void)
         * NOTE: Pages for this pool must not come from a pageable
         * kernel map!
         */
-       pool_init(&uao_swhash_elt_pool, sizeof(struct uao_swhash_elt),
-           0, 0, PR_WAITOK, "uaoeltpl", NULL);
-       pool_setipl(&uao_swhash_elt_pool, IPL_NONE);
-
-       pool_init(&uvm_aobj_pool, sizeof(struct uvm_aobj), 0, 0, PR_WAITOK,
-           "aobjpl", NULL);
-       pool_setipl(&uvm_aobj_pool, IPL_NONE);
+       pool_init(&uao_swhash_elt_pool, sizeof(struct uao_swhash_elt), 0,
+           IPL_NONE, PR_WAITOK, "uaoeltpl", NULL);
+       pool_init(&uvm_aobj_pool, sizeof(struct uvm_aobj), 0,
+           IPL_NONE, PR_WAITOK, "aobjpl", NULL);
 }
 
 /*
Index: sys/uvm/uvm_map.c
===================================================================
RCS file: /cvs/src/sys/uvm/uvm_map.c,v
retrieving revision 1.222
diff -u -p -r1.222 uvm_map.c
--- sys/uvm/uvm_map.c   3 Sep 2016 18:43:34 -0000       1.222
+++ sys/uvm/uvm_map.c   6 Sep 2016 00:35:42 -0000
@@ -2797,15 +2797,12 @@ uvm_map_init(void)
        }
 
        /* initialize the map-related pools. */
-       pool_init(&uvm_vmspace_pool, sizeof(struct vmspace),
-           0, 0, PR_WAITOK, "vmsppl", NULL);
-       pool_setipl(&uvm_vmspace_pool, IPL_NONE);
-       pool_init(&uvm_map_entry_pool, sizeof(struct vm_map_entry),
-           0, 0, PR_WAITOK, "vmmpepl", NULL);
-       pool_setipl(&uvm_map_entry_pool, IPL_VM);
-       pool_init(&uvm_map_entry_kmem_pool, sizeof(struct vm_map_entry),
-           0, 0, 0, "vmmpekpl", NULL);
-       pool_setipl(&uvm_map_entry_kmem_pool, IPL_NONE);
+       pool_init(&uvm_vmspace_pool, sizeof(struct vmspace), 0,
+           IPL_NONE, PR_WAITOK, "vmsppl", NULL);
+       pool_init(&uvm_map_entry_pool, sizeof(struct vm_map_entry), 0,
+           IPL_VM, PR_WAITOK, "vmmpepl", NULL);
+       pool_init(&uvm_map_entry_kmem_pool, sizeof(struct vm_map_entry), 0,
+           IPL_NONE, 0, "vmmpekpl", NULL);
        pool_sethiwat(&uvm_map_entry_pool, 8192);
 
        uvm_addr_init();
Index: sys/uvm/uvm_swap.c
===================================================================
RCS file: /cvs/src/sys/uvm/uvm_swap.c,v
retrieving revision 1.139
diff -u -p -r1.139 uvm_swap.c
--- sys/uvm/uvm_swap.c  1 Nov 2015 19:03:33 -0000       1.139
+++ sys/uvm/uvm_swap.c  6 Sep 2016 00:35:42 -0000
@@ -279,12 +279,10 @@ uvm_swap_init(void)
                panic("uvm_swap_init: extent_create failed");
 
        /* allocate pools for structures used for swapping to files. */
-       pool_init(&vndxfer_pool, sizeof(struct vndxfer), 0, 0, 0, "swp vnx",
-           NULL);
-       pool_setipl(&vndxfer_pool, IPL_BIO);
-       pool_init(&vndbuf_pool, sizeof(struct vndbuf), 0, 0, 0, "swp vnd",
-           NULL);
-       pool_setipl(&vndbuf_pool, IPL_BIO);
+       pool_init(&vndxfer_pool, sizeof(struct vndxfer), 0, IPL_BIO, 0,
+           "swp vnx", NULL);
+       pool_init(&vndbuf_pool, sizeof(struct vndbuf), 0, IPL_BIO, 0,
+           "swp vnd", NULL);
 
        /* Setup the initial swap partition */
        swapmount();

Reply via email to