i am going to make setting the IPL mandantory for pools.

eventually, the IPL will be set in pool_init, but the first step
toward that is to actually set it on every pool.

i just finished this. it compiles and boots on sparc64, but more
eyes and tests would be appreciated.

dlg

Index: arch/alpha/alpha/pmap.c
===================================================================
RCS file: /cvs/src/sys/arch/alpha/alpha/pmap.c,v
retrieving revision 1.82
diff -u -p -r1.82 pmap.c
--- arch/alpha/alpha/pmap.c     22 Feb 2016 07:13:46 -0000      1.82
+++ arch/alpha/alpha/pmap.c     26 Feb 2016 13:35:00 -0000
@@ -838,12 +838,15 @@ 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, "pmappl",
-           &pool_allocator_single);
+       pool_init(&pmap_pmap_pool, PMAP_SIZEOF(pmap_ncpuids), 0, 0, PR_WAITOK,
+           "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);
 
        TAILQ_INIT(&pmap_all_pmaps);
 
Index: arch/amd64/amd64/aesni.c
===================================================================
RCS file: /cvs/src/sys/arch/amd64/amd64/aesni.c,v
retrieving revision 1.36
diff -u -p -r1.36 aesni.c
--- arch/amd64/amd64/aesni.c    7 Nov 2015 01:37:26 -0000       1.36
+++ arch/amd64/amd64/aesni.c    26 Feb 2016 13:35:00 -0000
@@ -170,6 +170,7 @@ aesni_setup(void)
 
        pool_init(&aesnipl, sizeof(struct aesni_session), 16, 0, 0,
            "aesni", NULL);
+       pool_setipl(&aesnipl, IPL_VM);
        pool_setlowat(&aesnipl, 2);
 
        crypto_register(aesni_sc->sc_cid, algs, aesni_newsession,
Index: arch/amd64/amd64/pmap.c
===================================================================
RCS file: /cvs/src/sys/arch/amd64/amd64/pmap.c,v
retrieving revision 1.98
diff -u -p -r1.98 pmap.c
--- arch/amd64/amd64/pmap.c     8 Feb 2016 18:23:04 -0000       1.98
+++ arch/amd64/amd64/pmap.c     26 Feb 2016 13:35:00 -0000
@@ -739,16 +739,18 @@ pmap_bootstrap(paddr_t first_avail, padd
 
        pool_init(&pmap_pmap_pool, sizeof(struct pmap), 0, 0, PR_WAITOK,
            "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_sethiwat(&pmap_pv_pool, 32 * 1024);
        pool_setipl(&pmap_pv_pool, IPL_VM);
+       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);
 
        /*
         * ensure the TLB is sync'd with reality by flushing it...
Index: arch/amd64/amd64/vmm.c
===================================================================
RCS file: /cvs/src/sys/arch/amd64/amd64/vmm.c,v
retrieving revision 1.38
diff -u -p -r1.38 vmm.c
--- arch/amd64/amd64/vmm.c      23 Feb 2016 17:17:31 -0000      1.38
+++ arch/amd64/amd64/vmm.c      26 Feb 2016 13:35:00 -0000
@@ -274,8 +274,10 @@ vmm_attach(struct device *parent, struct
 
        pool_init(&vm_pool, sizeof(struct vm), 0, 0, PR_WAITOK, "vmpool",
            NULL);
+       pool_setipl(&cm_pool, IPL_NONE);
        pool_init(&vcpu_pool, sizeof(struct vcpu), 0, 0, PR_WAITOK, "vcpupl",
            NULL);
+       pool_setipl(&vcpu_pool, IPL_NONE);
 
        vmm_softc = sc;
 }
Index: arch/arm/arm/pmap.c
===================================================================
RCS file: /cvs/src/sys/arch/arm/arm/pmap.c,v
retrieving revision 1.58
diff -u -p -r1.58 pmap.c
--- arch/arm/arm/pmap.c 1 Feb 2016 04:28:45 -0000       1.58
+++ arch/arm/arm/pmap.c 26 Feb 2016 13:35:00 -0000
@@ -3729,26 +3729,30 @@ pmap_bootstrap(pd_entry_t *kernel_l1pt, 
        /*
         * Initialize the pmap pool and cache
         */
-       pool_init(&pmap_pmap_pool, sizeof(struct pmap), 0, 0, 0, "pmappl",
-           &pool_allocator_single);
+       pool_init(&pmap_pmap_pool, sizeof(struct pmap), 0, 0, PR_WAITOK,
+           "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,
            "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);
 
        cpu_dcache_wbinv_all();
 }
Index: arch/arm/arm/pmap7.c
===================================================================
RCS file: /cvs/src/sys/arch/arm/arm/pmap7.c,v
retrieving revision 1.23
diff -u -p -r1.23 pmap7.c
--- arch/arm/arm/pmap7.c        1 Feb 2016 04:28:45 -0000       1.23
+++ arch/arm/arm/pmap7.c        26 Feb 2016 13:35:00 -0000
@@ -2790,26 +2790,30 @@ pmap_bootstrap(pd_entry_t *kernel_l1pt, 
        /*
         * Initialize the pmap pool.
         */
-       pool_init(&pmap_pmap_pool, sizeof(struct pmap), 0, 0, 0, "pmappl",
-           &pool_allocator_single);
+       pool_init(&pmap_pmap_pool, sizeof(struct pmap), 0, 0, PR_WAITOK,
+           "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,
            "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);
 
        cpu_dcache_wbinv_all();
        cpu_sdcache_wbinv_all();
Index: arch/hppa/hppa/machdep.c
===================================================================
RCS file: /cvs/src/sys/arch/hppa/hppa/machdep.c,v
retrieving revision 1.242
diff -u -p -r1.242 machdep.c
--- arch/hppa/hppa/machdep.c    21 Oct 2015 07:59:18 -0000      1.242
+++ arch/hppa/hppa/machdep.c    26 Feb 2016 13:35:00 -0000
@@ -392,6 +392,7 @@ hppa_init(paddr_t start)
        proc0paddr->u_pcb.pcb_fpstate = &proc0fpstate;
        pool_init(&hppa_fppl, sizeof(struct hppa_fpstate), 16, 0, 0,
            "hppafp", NULL);
+       pool_setipl(&hppa_fppl, IPL_VM);
 }
 
 void
Index: arch/hppa/hppa/pmap.c
===================================================================
RCS file: /cvs/src/sys/arch/hppa/hppa/pmap.c,v
retrieving revision 1.168
diff -u -p -r1.168 pmap.c
--- arch/hppa/hppa/pmap.c       30 Aug 2015 16:50:25 -0000      1.168
+++ arch/hppa/hppa/pmap.c       26 Feb 2016 13:35:00 -0000
@@ -633,6 +633,7 @@ pmap_init(void)
 
        pool_init(&pmap_pmap_pool, sizeof(struct pmap), 0, 0, PR_WAITOK,
            "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);
Index: arch/hppa64/hppa64/machdep.c
===================================================================
RCS file: /cvs/src/sys/arch/hppa64/hppa64/machdep.c,v
retrieving revision 1.78
diff -u -p -r1.78 machdep.c
--- arch/hppa64/hppa64/machdep.c        21 Oct 2015 07:59:18 -0000      1.78
+++ arch/hppa64/hppa64/machdep.c        26 Feb 2016 13:35:00 -0000
@@ -285,6 +285,7 @@ TODO hpmc/toc/pfr
        proc0paddr->u_pcb.pcb_fpstate = &proc0fpstate;
        pool_init(&hppa_fppl, sizeof(struct hppa_fpstate), 16, 0, 0,
            "hppafp", NULL);
+       pool_setipl(&hppa_fppl, IPL_VM);
 }
 
 void
Index: arch/hppa64/hppa64/pmap.c
===================================================================
RCS file: /cvs/src/sys/arch/hppa64/hppa64/pmap.c,v
retrieving revision 1.28
diff -u -p -r1.28 pmap.c
--- arch/hppa64/hppa64/pmap.c   6 Sep 2015 11:06:48 -0000       1.28
+++ arch/hppa64/hppa64/pmap.c   26 Feb 2016 13:35:00 -0000
@@ -547,8 +547,10 @@ pmap_init(void)
 
        pool_init(&pmap_pmap_pool, sizeof(struct pmap), 0, 0, PR_WAITOK,
            "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_setlowat(&pmap_pv_pool, pmap_pvlowat);
        pool_sethiwat(&pmap_pv_pool, pmap_pvlowat * 32);
 
Index: arch/i386/i386/pmap.c
===================================================================
RCS file: /cvs/src/sys/arch/i386/i386/pmap.c,v
retrieving revision 1.186
diff -u -p -r1.186 pmap.c
--- arch/i386/i386/pmap.c       23 Oct 2015 09:36:09 -0000      1.186
+++ arch/i386/i386/pmap.c       26 Feb 2016 13:35:00 -0000
@@ -1028,6 +1028,7 @@ pmap_bootstrap(vaddr_t kva_start)
 
        pool_init(&pmap_pmap_pool, sizeof(struct pmap), 32, 0, PR_WAITOK,
            "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);
Index: arch/m88k/m88k/pmap.c
===================================================================
RCS file: /cvs/src/sys/arch/m88k/m88k/pmap.c,v
retrieving revision 1.82
diff -u -p -r1.82 pmap.c
--- arch/m88k/m88k/pmap.c       8 Sep 2015 21:28:36 -0000       1.82
+++ arch/m88k/m88k/pmap.c       26 Feb 2016 13:35:01 -0000
@@ -865,9 +865,11 @@ void
 pmap_init(void)
 {
        DPRINTF(CD_INIT, ("pmap_init()\n"));
-       pool_init(&pmappool, sizeof(struct pmap), 0, 0, 0, "pmappl",
+       pool_init(&pmappool, sizeof(struct pmap), 0, 0, PR_WAITOK, "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);
 }
 
 /*
Index: arch/macppc/macppc/machdep.c
===================================================================
RCS file: /cvs/src/sys/arch/macppc/macppc/machdep.c,v
retrieving revision 1.172
diff -u -p -r1.172 machdep.c
--- arch/macppc/macppc/machdep.c        21 Oct 2015 07:59:18 -0000      1.172
+++ arch/macppc/macppc/machdep.c        26 Feb 2016 13:35:01 -0000
@@ -325,6 +325,7 @@ initppc(startkernel, endkernel, args)
        consinit();
 
         pool_init(&ppc_vecpl, sizeof(struct vreg), 16, 0, 0, "ppcvec", NULL);
+       pool_setipl(&ppc_vecpl, IPL_VM);
 
 }
 
Index: arch/mips64/mips64/pmap.c
===================================================================
RCS file: /cvs/src/sys/arch/mips64/mips64/pmap.c,v
retrieving revision 1.86
diff -u -p -r1.86 pmap.c
--- arch/mips64/mips64/pmap.c   1 Feb 2016 16:15:18 -0000       1.86
+++ arch/mips64/mips64/pmap.c   26 Feb 2016 13:35:01 -0000
@@ -372,10 +372,14 @@ 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_init(&pmap_pmap_pool, PMAP_SIZEOF(ncpusfound), 0, 0, PR_WAITOK,
+           "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);
 
        pmap_kernel()->pm_count = 1;
 
Index: arch/octeon/dev/octhci.c
===================================================================
RCS file: /cvs/src/sys/arch/octeon/dev/octhci.c,v
retrieving revision 1.17
diff -u -p -r1.17 octhci.c
--- arch/octeon/dev/octhci.c    11 Feb 2015 01:40:57 -0000      1.17
+++ arch/octeon/dev/octhci.c    26 Feb 2016 13:35:01 -0000
@@ -239,6 +239,7 @@ octhci_init(struct octhci_softc *sc)
                }
                pool_init(octhcixfer, sizeof(struct octhci_xfer), 0, 0, 0,
                    "octhcixfer", NULL);
+               pool_setipl(octhcixfer, IPL_SOFTUSB);
        }
 
        /*
Index: arch/powerpc/powerpc/pmap.c
===================================================================
RCS file: /cvs/src/sys/arch/powerpc/powerpc/pmap.c,v
retrieving revision 1.163
diff -u -p -r1.163 pmap.c
--- arch/powerpc/powerpc/pmap.c 8 Oct 2015 10:20:14 -0000       1.163
+++ arch/powerpc/powerpc/pmap.c 26 Feb 2016 13:35:01 -0000
@@ -2142,13 +2142,17 @@ pmap_real_memory(paddr_t *start, vsize_t
 void
 pmap_init()
 {
-       pool_init(&pmap_pmap_pool, sizeof(struct pmap), 0, 0, 0, "pmap", NULL);
+       pool_init(&pmap_pmap_pool, sizeof(struct pmap), 0, 0, PR_WAITOK,
+           "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_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_setlowat(&pmap_pted_pool, 20);
 
        PMAP_HASH_LOCK_INIT();
Index: arch/sh/sh/pmap.c
===================================================================
RCS file: /cvs/src/sys/arch/sh/sh/pmap.c,v
retrieving revision 1.23
diff -u -p -r1.23 pmap.c
--- arch/sh/sh/pmap.c   8 Sep 2015 21:28:36 -0000       1.23
+++ arch/sh/sh/pmap.c   26 Feb 2016 13:35:01 -0000
@@ -203,10 +203,12 @@ void
 pmap_init()
 {
        /* Initialize pmap module */
-       pool_init(&__pmap_pmap_pool, sizeof(struct pmap), 0, 0, 0, "pmappl",
-           &pool_allocator_single);
+       pool_init(&__pmap_pmap_pool, sizeof(struct pmap), 0, 0, PR_WAITOK,
+           "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_setlowat(&__pmap_pv_pool, 16);
 }
 
Index: arch/sparc/sparc/pmap.c
===================================================================
RCS file: /cvs/src/sys/arch/sparc/sparc/pmap.c,v
retrieving revision 1.179
diff -u -p -r1.179 pmap.c
--- arch/sparc/sparc/pmap.c     29 Dec 2015 04:46:28 -0000      1.179
+++ arch/sparc/sparc/pmap.c     26 Feb 2016 13:35:01 -0000
@@ -3489,6 +3489,7 @@ void
 pmap_init()
 {
        pool_init(&pvpool, sizeof(struct pvlist), 0, 0, 0, "pvpl", NULL);
+       pool_setipl(&pvpool, IPL_VM);
 
 #if defined(SUN4M)
         if (CPU_ISSUN4M) {
@@ -3502,10 +3503,12 @@ pmap_init()
                 n = SRMMU_L1SIZE * sizeof(int);
                 pool_init(&L1_pool, n, n, 0, 0, "L1 pagetable",
                    &pgt_allocator);
+               pool_setipl(&L1_pool, IPL_VM);
 
                 n = SRMMU_L2SIZE * sizeof(int);
                 pool_init(&L23_pool, n, n, 0, 0, "L2/L3 pagetable",
                     &pgt_allocator);
+               pool_setipl(&L23_pool, IPL_VM);
         }
 #endif
 }
Index: arch/sparc64/sparc64/pmap.c
===================================================================
RCS file: /cvs/src/sys/arch/sparc64/sparc64/pmap.c,v
retrieving revision 1.96
diff -u -p -r1.96 pmap.c
--- arch/sparc64/sparc64/pmap.c 27 Nov 2015 15:34:01 -0000      1.96
+++ arch/sparc64/sparc64/pmap.c 26 Feb 2016 13:35:01 -0000
@@ -1382,6 +1382,7 @@ pmap_init(void)
        pool_setipl(&pv_pool, IPL_VM);
        pool_init(&pmap_pool, sizeof(struct pmap), 0, 0, PR_WAITOK,
            "pmappl", NULL);
+       pool_setipl(&pmap_pool, IPL_NONE);
 }
 
 /* Start of non-cachable physical memory on UltraSPARC-III. */
Index: arch/vax/vax/pmap.c
===================================================================
RCS file: /cvs/src/sys/arch/vax/vax/pmap.c,v
retrieving revision 1.77
diff -u -p -r1.77 pmap.c
--- arch/vax/vax/pmap.c 17 Jun 2015 17:15:07 -0000      1.77
+++ arch/vax/vax/pmap.c 26 Feb 2016 13:35:01 -0000
@@ -365,11 +365,14 @@ pmap_bootstrap()
        mtpr(pcb->P0LR, PR_P0LR);
 
        /* Create the pmap, ptp and pv_entry pools. */
-       pool_init(&pmap_pmap_pool, sizeof(struct pmap), 0, 0, 0,
+       pool_init(&pmap_pmap_pool, sizeof(struct pmap), 0, 0, PR_WAITOK,
            "pmap_pool", NULL);
+       pool_setipl(&pmap_pmap_pool, IPL_NONE);
        pool_init(&pmap_ptp_pool, VAX_NBPG, 0, 0, 0, "ptp_pool", NULL);
+       pool_setipl(&pmap_ptp_pool, IPL_VM);
        pool_init(&pmap_pv_pool, sizeof(struct pv_entry), 0, 0, 0,
            "pv_pool", NULL);
+       pool_setipl(&pmap_pv_pool, IPL_VM);
 
        /*
         * Now everything should be complete, start virtual memory.
Index: compat/linux/linux_futex.c
===================================================================
RCS file: /cvs/src/sys/compat/linux/linux_futex.c,v
retrieving revision 1.17
diff -u -p -r1.17 linux_futex.c
--- compat/linux/linux_futex.c  4 Sep 2015 11:51:29 -0000       1.17
+++ compat/linux/linux_futex.c  26 Feb 2016 13:35:01 -0000
@@ -417,8 +417,10 @@ futex_pool_init(void)
        if (!futex_pool_initialized) {
                pool_init(&futex_pool, sizeof(struct futex), 0, 0,
                    PR_WAITOK | PR_DEBUGCHK, "futexpl", NULL);
+               pool_setipl(&futex_pool, IPL_NONE);
                pool_init(&futex_wp_pool, sizeof(struct waiting_proc), 0, 0,
                    PR_WAITOK | PR_DEBUGCHK, "futexwppl", NULL);
+               pool_setipl(&futex_wp_pool, IPL_NONE);
                futex_pool_initialized = 1;
        }
 }
Index: dev/systrace.c
===================================================================
RCS file: /cvs/src/sys/dev/systrace.c,v
retrieving revision 1.77
diff -u -p -r1.77 systrace.c
--- dev/systrace.c      8 Sep 2015 11:58:58 -0000       1.77
+++ dev/systrace.c      26 Feb 2016 13:35:01 -0000
@@ -466,10 +466,12 @@ systracef_close(struct file *fp, struct 
 void
 systraceattach(int n)
 {
-       pool_init(&systr_proc_pl, sizeof(struct str_process), 0, 0, 0,
+       pool_init(&systr_proc_pl, sizeof(struct str_process), 0, 0, PR_WAITOK,
            "strprocpl", NULL);
-       pool_init(&systr_policy_pl, sizeof(struct str_policy), 0, 0, 0,
+       pool_setipl(&systr_proc_pl, IPL_NONE);
+       pool_init(&systr_policy_pl, sizeof(struct str_policy), 0, 0, PR_WAITOK,
            "strpolpl", NULL);
+       pool_setipl(&systr_policy_pl, IPL_NONE);
        rw_init(&systrace_lck, "systrace");
 }
 
Index: dev/cardbus/cardslot.c
===================================================================
RCS file: /cvs/src/sys/dev/cardbus/cardslot.c,v
retrieving revision 1.19
diff -u -p -r1.19 cardslot.c
--- dev/cardbus/cardslot.c      14 Mar 2015 03:38:47 -0000      1.19
+++ dev/cardbus/cardslot.c      26 Feb 2016 13:35:01 -0000
@@ -101,9 +101,11 @@ cardslotattach(struct device *parent, st
        struct cardbus_softc *csc = NULL;
        struct pcmcia_softc *psc = NULL;
 
-       if (cardsloteventpool.pr_size == 0)
+       if (cardsloteventpool.pr_size == 0) {
                pool_init(&cardsloteventpool, sizeof(struct cardslot_event),
                    0, 0, 0, "cardslot", NULL);
+               pool_setipl(&cardsloteventpool, IPL_TTY);
+       }
 
        sc->sc_slot = sc->sc_dev.dv_unit;
        sc->sc_cb_softc = NULL;
Index: dev/pci/if_oce.c
===================================================================
RCS file: /cvs/src/sys/dev/pci/if_oce.c,v
retrieving revision 1.92
diff -u -p -r1.92 if_oce.c
--- dev/pci/if_oce.c    6 Jan 2016 06:41:57 -0000       1.92
+++ dev/pci/if_oce.c    26 Feb 2016 13:35:01 -0000
@@ -586,6 +586,7 @@ oce_attach(struct device *parent, struct
                }
                pool_init(oce_pkt_pool, sizeof(struct oce_pkt), 0, 0, 0,
                    "ocepkts", NULL);
+               pool_setipl(oce_pkt_pool, IPL_NET);
        }
 
        /* We allocate a single interrupt resource */
Index: dev/pci/drm/drm_drv.c
===================================================================
RCS file: /cvs/src/sys/dev/pci/drm/drm_drv.c,v
retrieving revision 1.145
diff -u -p -r1.145 drm_drv.c
--- dev/pci/drm/drm_drv.c       5 Feb 2016 10:05:12 -0000       1.145
+++ dev/pci/drm/drm_drv.c       26 Feb 2016 13:35:01 -0000
@@ -470,6 +470,7 @@ drm_attach(struct device *parent, struct
                /* XXX unique name */
                pool_init(&dev->objpl, dev->driver->gem_size, 0, 0, 0,
                    "drmobjpl", NULL);
+               pool_setipl(&dev->objpl, IPL_NONE);
        }
 
        printf("\n");
Index: isofs/udf/udf_vfsops.c
===================================================================
RCS file: /cvs/src/sys/isofs/udf/udf_vfsops.c,v
retrieving revision 1.46
diff -u -p -r1.46 udf_vfsops.c
--- isofs/udf/udf_vfsops.c      31 Aug 2015 06:56:25 -0000      1.46
+++ isofs/udf/udf_vfsops.c      26 Feb 2016 13:35:01 -0000
@@ -104,10 +104,13 @@ udf_init(struct vfsconf *foo)
 {
        pool_init(&udf_trans_pool, MAXNAMLEN * sizeof(unicode_t), 0, 0,
            PR_WAITOK, "udftrpl", NULL);
+       pool_setipl(&udf_trans_pool, IPL_NONE);
        pool_init(&unode_pool, sizeof(struct unode), 0, 0,
            PR_WAITOK, "udfndpl", NULL);
+       pool_setipl(&unode_pool, IPL_NONE);
        pool_init(&udf_ds_pool, sizeof(struct udf_dirstream), 0, 0,
            PR_WAITOK, "udfdspl", NULL);
+       pool_setipl(&udf_ds_pool, IPL_NONE);
 
        return (0);
 }
Index: kern/kern_descrip.c
===================================================================
RCS file: /cvs/src/sys/kern/kern_descrip.c,v
retrieving revision 1.128
diff -u -p -r1.128 kern_descrip.c
--- kern/kern_descrip.c 6 Jan 2016 17:59:30 -0000       1.128
+++ kern/kern_descrip.c 26 Feb 2016 13:35:01 -0000
@@ -85,8 +85,10 @@ 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);
        LIST_INIT(&filehead);
 }
 
Index: kern/kern_event.c
===================================================================
RCS file: /cvs/src/sys/kern/kern_event.c,v
retrieving revision 1.71
diff -u -p -r1.71 kern_event.c
--- kern/kern_event.c   6 Jan 2016 17:58:46 -0000       1.71
+++ kern/kern_event.c   26 Feb 2016 13:35:01 -0000
@@ -164,8 +164,10 @@ kqueue_init(void)
 
        pool_init(&kqueue_pool, sizeof(struct kqueue), 0, 0, PR_WAITOK,
            "kqueuepl", NULL);
+       pool_setipl(&kqueue_pool, IPL_NONE);
        pool_init(&knote_pool, sizeof(struct knote), 0, 0, PR_WAITOK,
            "knotepl", NULL);
+       pool_setipl(&knote_pool, IPL_NONE);
 }
 
 int
Index: kern/kern_proc.c
===================================================================
RCS file: /cvs/src/sys/kern/kern_proc.c,v
retrieving revision 1.65
diff -u -p -r1.65 kern_proc.c
--- kern/kern_proc.c    11 Sep 2015 08:27:39 -0000      1.65
+++ kern/kern_proc.c    26 Feb 2016 13:35:01 -0000
@@ -95,16 +95,22 @@ procinit(void)
 
        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);
 }
 
 struct uidinfo *
Index: kern/kern_resource.c
===================================================================
RCS file: /cvs/src/sys/kern/kern_resource.c,v
retrieving revision 1.55
diff -u -p -r1.55 kern_resource.c
--- kern/kern_resource.c        5 Dec 2015 10:11:53 -0000       1.55
+++ kern/kern_resource.c        26 Feb 2016 13:35:01 -0000
@@ -508,6 +508,7 @@ limcopy(struct plimit *lim)
        if (!initialized) {
                pool_init(&plimit_pool, sizeof(struct plimit), 0, 0, PR_WAITOK,
                    "plimitpl", NULL);
+               pool_setipl(&plimit_pool, IPL_NONE);
                initialized = 1;
        }
 
Index: kern/kern_sig.c
===================================================================
RCS file: /cvs/src/sys/kern/kern_sig.c,v
retrieving revision 1.192
diff -u -p -r1.192 kern_sig.c
--- kern/kern_sig.c     9 Jan 2016 06:13:43 -0000       1.192
+++ kern/kern_sig.c     26 Feb 2016 13:35:01 -0000
@@ -154,6 +154,7 @@ signal_init(void)
 
        pool_init(&sigacts_pool, sizeof(struct sigacts), 0, 0, PR_WAITOK,
            "sigapl", NULL);
+       pool_setipl(&sigacts_pool, IPL_NONE);
 }
 
 /*
Index: kern/sys_pipe.c
===================================================================
RCS file: /cvs/src/sys/kern/sys_pipe.c,v
retrieving revision 1.72
diff -u -p -r1.72 sys_pipe.c
--- kern/sys_pipe.c     15 Jan 2016 18:10:48 -0000      1.72
+++ kern/sys_pipe.c     26 Feb 2016 13:35:01 -0000
@@ -872,5 +872,6 @@ pipe_init(void)
 {
        pool_init(&pipe_pool, sizeof(struct pipe), 0, 0, PR_WAITOK, "pipepl",
            NULL);
+       pool_setipl(&pipe_pool, IPL_NONE);
 }
 
Index: kern/sysv_msg.c
===================================================================
RCS file: /cvs/src/sys/kern/sysv_msg.c,v
retrieving revision 1.31
diff -u -p -r1.31 sysv_msg.c
--- kern/sysv_msg.c     7 Oct 2015 14:49:04 -0000       1.31
+++ kern/sysv_msg.c     26 Feb 2016 13:35:01 -0000
@@ -82,6 +82,7 @@ msginit(void)
 
        pool_init(&sysvmsgpl, sizeof(struct msg), 0, 0, PR_WAITOK, "sysvmsgpl",
            NULL);
+       pool_setipl(&sysvmsgpl, IPL_NONE);
 
        TAILQ_INIT(&msg_queues);
 
Index: kern/sysv_shm.c
===================================================================
RCS file: /cvs/src/sys/kern/sysv_shm.c,v
retrieving revision 1.67
diff -u -p -r1.67 sysv_shm.c
--- kern/sysv_shm.c     7 Oct 2015 14:49:04 -0000       1.67
+++ kern/sysv_shm.c     26 Feb 2016 13:35:01 -0000
@@ -525,6 +525,7 @@ 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);
        shmsegs = mallocarray(shminfo.shmmni, sizeof(struct shmid_ds *),
            M_SHM, M_WAITOK|M_ZERO);
        shmseqs = mallocarray(shminfo.shmmni, sizeof(unsigned short),
Index: kern/vfs_cache.c
===================================================================
RCS file: /cvs/src/sys/kern/vfs_cache.c,v
retrieving revision 1.47
diff -u -p -r1.47 vfs_cache.c
--- kern/vfs_cache.c    14 Mar 2015 03:38:51 -0000      1.47
+++ kern/vfs_cache.c    26 Feb 2016 13:35:01 -0000
@@ -419,6 +419,7 @@ nchinit()
        TAILQ_INIT(&nclruneghead);
        pool_init(&nch_pool, sizeof(struct namecache), 0, 0, PR_WAITOK,
            "nchpl", NULL);
+       pool_setipl(&nch_pool, IPL_NONE);
 }
 
 /*
Index: kern/vfs_init.c
===================================================================
RCS file: /cvs/src/sys/kern/vfs_init.c,v
retrieving revision 1.36
diff -u -p -r1.36 vfs_init.c
--- kern/vfs_init.c     14 Mar 2015 03:38:51 -0000      1.36
+++ kern/vfs_init.c     26 Feb 2016 13:35:01 -0000
@@ -149,6 +149,7 @@ vfsinit(void)
        int vfsconflistlen;
 
        pool_init(&namei_pool, MAXPATHLEN, 0, 0, PR_WAITOK, "namei", NULL);
+       pool_setipl(&namei_pool, IPL_NONE);
 
        /* Initialize the vnode table. */
        vntblinit();
Index: kern/vfs_lockf.c
===================================================================
RCS file: /cvs/src/sys/kern/vfs_lockf.c,v
retrieving revision 1.21
diff -u -p -r1.21 vfs_lockf.c
--- kern/vfs_lockf.c    22 Dec 2015 21:39:34 -0000      1.21
+++ kern/vfs_lockf.c    26 Feb 2016 13:35:01 -0000
@@ -77,6 +77,7 @@ lf_init(void)
 {
        pool_init(&lockfpool, sizeof(struct lockf), 0, 0, PR_WAITOK,
            "lockfpl", NULL);
+       pool_setipl(&lockfpool, IPL_NONE);
 }
 
 struct lockf *lf_alloc(uid_t, int);
Index: kern/vfs_subr.c
===================================================================
RCS file: /cvs/src/sys/kern/vfs_subr.c,v
retrieving revision 1.238
diff -u -p -r1.238 vfs_subr.c
--- kern/vfs_subr.c     5 Dec 2015 10:11:53 -0000       1.238
+++ kern/vfs_subr.c     26 Feb 2016 13:35:02 -0000
@@ -146,8 +146,10 @@ vntblinit(void)
        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);
        TAILQ_INIT(&vnode_hold_list);
        TAILQ_INIT(&vnode_free_list);
        TAILQ_INIT(&mountlist);
Index: net/art.c
===================================================================
RCS file: /cvs/src/sys/net/art.c,v
retrieving revision 1.12
diff -u -p -r1.12 art.c
--- net/art.c   18 Jan 2016 18:27:11 -0000      1.12
+++ net/art.c   26 Feb 2016 13:35:02 -0000
@@ -88,11 +88,15 @@ struct pool         at_pool, at_heap_4_pool, at
 void
 art_init(void)
 {
-       pool_init(&at_pool, sizeof(struct art_table), 0, 0, 0, "art_table",
-           NULL);
-       pool_init(&at_heap_4_pool, AT_HEAPSIZE(4), 0, 0, 0, "art_heap4", NULL);
-       pool_init(&at_heap_8_pool, AT_HEAPSIZE(8), 0, 0, 0, "art_heap8",
-           &pool_allocator_single);
+       pool_init(&at_pool, sizeof(struct art_table), 0, 0, PR_WAITOK,
+           "art_table", NULL);
+       pool_setipl(&at_pool, IPL_NONE);
+       pool_init(&at_heap_4_pool, AT_HEAPSIZE(4), 0, 0, PR_WAITOK,
+           "art_heap4", NULL);
+       pool_setipl(&at_heap_4_pool, IPL_NONE);
+       pool_init(&at_heap_8_pool, AT_HEAPSIZE(8), 0, 0, PR_WAITOK,
+           "art_heap8", &pool_allocator_single);
+       pool_setipl(&at_heap_8_pool, IPL_NONE);
 }
 
 /*
Index: net/if_pfsync.c
===================================================================
RCS file: /cvs/src/sys/net/if_pfsync.c,v
retrieving revision 1.227
diff -u -p -r1.227 if_pfsync.c
--- net/if_pfsync.c     31 Jan 2016 00:18:07 -0000      1.227
+++ net/if_pfsync.c     26 Feb 2016 13:35:02 -0000
@@ -303,6 +303,7 @@ pfsync_clone_create(struct if_clone *ifc
                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);
        TAILQ_INIT(&sc->sc_upd_req_list);
        TAILQ_INIT(&sc->sc_deferrals);
        sc->sc_deferred = 0;
Index: net/if_pppx.c
===================================================================
RCS file: /cvs/src/sys/net/if_pppx.c,v
retrieving revision 1.50
diff -u -p -r1.50 if_pppx.c
--- net/if_pppx.c       31 Jan 2016 13:54:13 -0000      1.50
+++ net/if_pppx.c       26 Feb 2016 13:35:02 -0000
@@ -250,6 +250,7 @@ pppxopen(dev_t dev, int flags, int mode,
                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);
        }
 
        pxd = malloc(sizeof(*pxd), M_DEVBUF, M_WAITOK | M_ZERO);
Index: net/pf_if.c
===================================================================
RCS file: /cvs/src/sys/net/pf_if.c,v
retrieving revision 1.82
diff -u -p -r1.82 pf_if.c
--- net/pf_if.c 20 Nov 2015 03:35:23 -0000      1.82
+++ net/pf_if.c 26 Feb 2016 13:35:02 -0000
@@ -90,6 +90,7 @@ pfi_initialize(void)
 
        pool_init(&pfi_addr_pl, sizeof(struct pfi_dynaddr), 0, 0, 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: net/pf_ioctl.c
===================================================================
RCS file: /cvs/src/sys/net/pf_ioctl.c,v
retrieving revision 1.297
diff -u -p -r1.297 pf_ioctl.c
--- net/pf_ioctl.c      3 Dec 2015 13:30:18 -0000       1.297
+++ net/pf_ioctl.c      26 Feb 2016 13:35:02 -0000
@@ -143,20 +143,28 @@ pfattach(int num)
 
        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);
        hfsc_initialize();
        pfr_initialize();
        pfi_initialize();
Index: net/pf_norm.c
===================================================================
RCS file: /cvs/src/sys/net/pf_norm.c,v
retrieving revision 1.183
diff -u -p -r1.183 pf_norm.c
--- net/pf_norm.c       24 Nov 2015 13:37:16 -0000      1.183
+++ net/pf_norm.c       26 Feb 2016 13:35:02 -0000
@@ -139,10 +139,13 @@ 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_sethiwat(&pf_frag_pl, PFFRAG_FRAG_HIWAT);
        pool_sethardlimit(&pf_frent_pl, PFFRAG_FRENT_HIWAT, NULL, 0);
Index: net/pf_osfp.c
===================================================================
RCS file: /cvs/src/sys/net/pf_osfp.c,v
retrieving revision 1.32
diff -u -p -r1.32 pf_osfp.c
--- net/pf_osfp.c       4 Sep 2015 21:40:25 -0000       1.32
+++ net/pf_osfp.c       26 Feb 2016 13:35:02 -0000
@@ -289,8 +289,10 @@ 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);
        SLIST_INIT(&pf_osfp_list);
 }
 
Index: net/pf_table.c
===================================================================
RCS file: /cvs/src/sys/net/pf_table.c,v
retrieving revision 1.116
diff -u -p -r1.116 pf_table.c
--- net/pf_table.c      3 Nov 2015 22:10:33 -0000       1.116
+++ net/pf_table.c      26 Feb 2016 13:35:02 -0000
@@ -217,15 +217,20 @@ pfr_initialize(void)
 
        pool_init(&pfr_ktable_pl, sizeof(struct pfr_ktable), 0, 0, 0,
            "pfrktable", NULL);
+       pool_setipl(&pfr_ktable_pl, IPL_SOFTNET);
        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);
        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);
        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);
 
        pool_init(&pfr_kcounters_pl, sizeof(struct pfr_kcounters),
            0, 0, 0, "pfrkcounters", NULL);
+       pool_setipl(&pfr_kcounters_pl, IPL_SOFTNET);
 
        pfr_sin.sin_len = sizeof(pfr_sin);
        pfr_sin.sin_family = AF_INET;
Index: net/pfkeyv2.c
===================================================================
RCS file: /cvs/src/sys/net/pfkeyv2.c,v
retrieving revision 1.146
diff -u -p -r1.146 pfkeyv2.c
--- net/pfkeyv2.c       9 Dec 2015 21:41:50 -0000       1.146
+++ net/pfkeyv2.c       26 Feb 2016 13:35:02 -0000
@@ -1517,8 +1517,9 @@ 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);
+                                   sizeof(struct ipsec_policy), 0, 0,
+                                   PR_WAITOK, "ipsec policy", NULL);
+                               pool_setipl(&ipsec_policy_pool, IPL_NONE);
                        }
 
                        /* Allocate policy entry */
Index: net/pipex.c
===================================================================
RCS file: /cvs/src/sys/net/pipex.c,v
retrieving revision 1.84
diff -u -p -r1.84 pipex.c
--- net/pipex.c 3 Nov 2015 21:33:56 -0000       1.84
+++ net/pipex.c 26 Feb 2016 13:35:02 -0000
@@ -131,10 +131,12 @@ pipex_init(void)
 
        rn_init(sizeof(struct sockaddr_in6));
 
-       pool_init(&pipex_session_pool, sizeof(struct pipex_session), 0, 0, 0,
-           "ppxss", NULL);
+       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,
-           0, "mppekey", NULL);
+           PR_WAITOK, "mppekey", NULL);
+       pool_setipl(&mppe_key_pool, IPL_NONE);
 
        LIST_INIT(&pipex_session_list);
        LIST_INIT(&pipex_close_wait_list);
Index: net/radix.c
===================================================================
RCS file: /cvs/src/sys/net/radix.c,v
retrieving revision 1.52
diff -u -p -r1.52 radix.c
--- net/radix.c 6 Nov 2015 18:07:57 -0000       1.52
+++ net/radix.c 26 Feb 2016 13:35:02 -0000
@@ -1225,6 +1225,7 @@ rn_init(unsigned int keylen)
        if (max_keylen == 0) {
                pool_init(&rtmask_pool, sizeof(struct radix_mask), 0, 0, 0,
                    "rtmask", NULL);
+               pool_setipl(&rtmask_pool, IPL_SOFTNET);
        }
 
        if (keylen <= max_keylen)
Index: net/route.c
===================================================================
RCS file: /cvs/src/sys/net/route.c,v
retrieving revision 1.294
diff -u -p -r1.294 route.c
--- net/route.c 24 Feb 2016 22:41:53 -0000      1.294
+++ net/route.c 26 Feb 2016 13:35:02 -0000
@@ -184,6 +184,7 @@ route_init(void)
 {
        pool_init(&rtentry_pool, sizeof(struct rtentry), 0, 0, 0, "rtentry",
            NULL);
+       pool_setipl(&rtentry_pool, IPL_SOFTNET);
 
        while (rt_hashjitter == 0)
                rt_hashjitter = arc4random();
@@ -1449,6 +1450,7 @@ rt_timer_init()
 
        pool_init(&rttimer_pool, sizeof(struct rttimer), 0, 0, 0, "rttmr",
            NULL);
+       pool_setipl(&rttimer_pool, IPL_SOFTNET);
 
        LIST_INIT(&rttimer_queue_head);
        timeout_set(&rt_timer_timeout, rt_timer_timer, &rt_timer_timeout);
Index: net/rtable.c
===================================================================
RCS file: /cvs/src/sys/net/rtable.c,v
retrieving revision 1.39
diff -u -p -r1.39 rtable.c
--- net/rtable.c        24 Feb 2016 22:41:53 -0000      1.39
+++ net/rtable.c        26 Feb 2016 13:35:02 -0000
@@ -519,6 +519,7 @@ rtable_init_backend(unsigned int keylen)
 {
        art_init();
        pool_init(&an_pool, sizeof(struct art_node), 0, 0, 0, "art_node", NULL);
+       pool_setipl(&an_pool, IPL_SOFTNET);
 }
 
 void *
Index: netinet/if_ether.c
===================================================================
RCS file: /cvs/src/sys/netinet/if_ether.c,v
retrieving revision 1.201
diff -u -p -r1.201 if_ether.c
--- netinet/if_ether.c  21 Jan 2016 03:34:05 -0000      1.201
+++ netinet/if_ether.c  26 Feb 2016 13:35:02 -0000
@@ -132,6 +132,7 @@ arp_rtrequest(struct ifnet *ifp, int req
                arpinit_done = 1;
                pool_init(&arp_pool, sizeof(struct llinfo_arp), 0, 0, 0, "arp",
                    NULL);
+               pool_setipl(&arp_pool, IPL_SOFTNET);
                /*
                 * We generate expiration times from time.tv_sec
                 * so avoid accidently creating permanent routes.
Index: netinet/in_pcb.c
===================================================================
RCS file: /cvs/src/sys/netinet/in_pcb.c,v
retrieving revision 1.195
diff -u -p -r1.195 in_pcb.c
--- netinet/in_pcb.c    18 Dec 2015 22:25:16 -0000      1.195
+++ netinet/in_pcb.c    26 Feb 2016 13:35:02 -0000
@@ -241,6 +241,7 @@ in_pcballoc(struct socket *so, struct in
        if (inpcb_pool_initialized == 0) {
                pool_init(&inpcb_pool, sizeof(struct inpcb), 0, 0, 0,
                    "inpcbpl", NULL);
+               pool_setipl(&inpcb_pool, IPL_SOFTNET);
                inpcb_pool_initialized = 1;
        }
        inp = pool_get(&inpcb_pool, PR_NOWAIT|PR_ZERO);
Index: netinet/ip_input.c
===================================================================
RCS file: /cvs/src/sys/netinet/ip_input.c,v
retrieving revision 1.268
diff -u -p -r1.268 ip_input.c
--- netinet/ip_input.c  31 Jan 2016 00:18:07 -0000      1.268
+++ netinet/ip_input.c  26 Feb 2016 13:35:02 -0000
@@ -165,7 +165,9 @@ ip_init(void)
        const u_int16_t defbaddynamicports_udp[] = DEFBADDYNAMICPORTS_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);
 
        pr = pffindproto(PF_INET, IPPROTO_RAW, SOCK_RAW);
        if (pr == NULL)
Index: netinet/ip_spd.c
===================================================================
RCS file: /cvs/src/sys/netinet/ip_spd.c,v
retrieving revision 1.88
diff -u -p -r1.88 ip_spd.c
--- netinet/ip_spd.c    7 Oct 2015 10:50:35 -0000       1.88
+++ netinet/ip_spd.c    26 Feb 2016 13:35:02 -0000
@@ -670,6 +670,7 @@ ipsp_acquire_sa(struct ipsec_policy *ipo
                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);
        }
 
        ipa = pool_get(&ipsec_acquire_pool, PR_NOWAIT|PR_ZERO);
Index: netinet/tcp_subr.c
===================================================================
RCS file: /cvs/src/sys/netinet/tcp_subr.c,v
retrieving revision 1.150
diff -u -p -r1.150 tcp_subr.c
--- netinet/tcp_subr.c  24 Oct 2015 16:08:48 -0000      1.150
+++ netinet/tcp_subr.c  26 Feb 2016 13:35:02 -0000
@@ -142,11 +142,14 @@ tcp_init()
 {
        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(&tcpqe_pool, IPL_SOFTNET);
        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_sethardlimit(&sackhl_pool, tcp_sackhole_limit, NULL, 0);
 #endif /* TCP_SACK */
        in_pcbinit(&tcbtable, TCB_INITIAL_HASH_SIZE);
@@ -554,11 +557,8 @@ void
 tcp_reaper(void *arg)
 {
        struct tcpcb *tp = arg;
-       int s;
 
-       s = splsoftnet();
        pool_put(&tcpcb_pool, tp);
-       splx(s);
        tcpstat.tcps_closed++;
 }
 
Index: netinet6/nd6.c
===================================================================
RCS file: /cvs/src/sys/netinet6/nd6.c,v
retrieving revision 1.176
diff -u -p -r1.176 nd6.c
--- netinet6/nd6.c      3 Dec 2015 21:57:59 -0000       1.176
+++ netinet6/nd6.c      26 Feb 2016 13:35:02 -0000
@@ -116,6 +116,7 @@ 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);
 
        /* initialization of the default router list */
        TAILQ_INIT(&nd_defrouter);
Index: nfs/nfs_subs.c
===================================================================
RCS file: /cvs/src/sys/nfs/nfs_subs.c,v
retrieving revision 1.129
diff -u -p -r1.129 nfs_subs.c
--- nfs/nfs_subs.c      13 Feb 2016 15:45:05 -0000      1.129
+++ nfs/nfs_subs.c      26 Feb 2016 13:35:02 -0000
@@ -899,6 +899,7 @@ nfs_init(void)
 
        pool_init(&nfsreqpl, sizeof(struct nfsreq), 0, 0, PR_WAITOK,
            "nfsreqpl", NULL);
+       pool_setipl(&nfsreqpl, IPL_NONE);
 }
 
 #ifdef NFSCLIENT
@@ -911,6 +912,7 @@ nfs_vfs_init(struct vfsconf *vfsp)
 
        pool_init(&nfs_node_pool, sizeof(struct nfsnode), 0, 0, PR_WAITOK,
            "nfsnodepl", NULL);
+       pool_setipl(&nfs_node_pool, IPL_NONE);
 
        return (0);
 }
Index: nfs/nfs_syscalls.c
===================================================================
RCS file: /cvs/src/sys/nfs/nfs_syscalls.c,v
retrieving revision 1.104
diff -u -p -r1.104 nfs_syscalls.c
--- nfs/nfs_syscalls.c  4 Sep 2015 11:50:33 -0000       1.104
+++ nfs/nfs_syscalls.c  26 Feb 2016 13:35:02 -0000
@@ -545,9 +545,11 @@ nfsrv_init(int terminating)
            M_WAITOK|M_ZERO);
        TAILQ_INSERT_HEAD(&nfssvc_sockhead, nfs_udpsock, ns_chain);
 
-       if (!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);
+       }
 }
 #endif /* NFSSERVER */
 
Index: tmpfs/tmpfs_vfsops.c
===================================================================
RCS file: /cvs/src/sys/tmpfs/tmpfs_vfsops.c,v
retrieving revision 1.8
diff -u -p -r1.8 tmpfs_vfsops.c
--- tmpfs/tmpfs_vfsops.c        13 Jan 2016 13:01:40 -0000      1.8
+++ tmpfs/tmpfs_vfsops.c        26 Feb 2016 13:35:02 -0000
@@ -75,8 +75,10 @@ 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);
 
        return 0;
 }
Index: ufs/ext2fs/ext2fs_vfsops.c
===================================================================
RCS file: /cvs/src/sys/ufs/ext2fs/ext2fs_vfsops.c,v
retrieving revision 1.85
diff -u -p -r1.85 ext2fs_vfsops.c
--- ufs/ext2fs/ext2fs_vfsops.c  14 Mar 2015 03:38:52 -0000      1.85
+++ ufs/ext2fs/ext2fs_vfsops.c  26 Feb 2016 13:35:02 -0000
@@ -95,8 +95,10 @@ 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);
 
        return (ufs_init(vfsp));
 }
Index: ufs/ffs/ffs_softdep.c
===================================================================
RCS file: /cvs/src/sys/ufs/ffs/ffs_softdep.c,v
retrieving revision 1.131
diff -u -p -r1.131 ffs_softdep.c
--- ufs/ffs/ffs_softdep.c       9 Jan 2015 05:01:57 -0000       1.131
+++ ufs/ffs/ffs_softdep.c       26 Feb 2016 13:35:02 -0000
@@ -1177,32 +1177,46 @@ softdep_initialize(void)
        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);
 }
 
 /*
Index: ufs/ffs/ffs_vfsops.c
===================================================================
RCS file: /cvs/src/sys/ufs/ffs/ffs_vfsops.c,v
retrieving revision 1.150
diff -u -p -r1.150 ffs_vfsops.c
--- ufs/ffs/ffs_vfsops.c        12 Jan 2016 11:41:00 -0000      1.150
+++ ufs/ffs/ffs_vfsops.c        26 Feb 2016 13:35:02 -0000
@@ -1477,11 +1477,14 @@ ffs_init(struct vfsconf *vfsp)
 
        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,
            PR_WAITOK, "dino1pl", NULL);
+       pool_setipl(&ffs_dinode1_pool, IPL_NONE);
 #ifdef FFS2
        pool_init(&ffs_dinode2_pool, sizeof(struct ufs2_dinode), 0, 0,
            PR_WAITOK, "dino2pl", NULL);
+       pool_setipl(&ffs_dinode2_pool, IPL_NONE);
 #endif
 
        softdep_initialize();
Index: ufs/ufs/ufs_dirhash.c
===================================================================
RCS file: /cvs/src/sys/ufs/ufs/ufs_dirhash.c,v
retrieving revision 1.33
diff -u -p -r1.33 ufs_dirhash.c
--- ufs/ufs/ufs_dirhash.c       14 Mar 2015 03:38:53 -0000      1.33
+++ ufs/ufs/ufs_dirhash.c       26 Feb 2016 13:35:02 -0000
@@ -1049,6 +1049,7 @@ ufsdirhash_init(void)
 {
        pool_init(&ufsdirhash_pool, DH_NBLKOFF * sizeof(doff_t), 0, 0,
            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: uvm/uvm_amap.c
===================================================================
RCS file: /cvs/src/sys/uvm/uvm_amap.c,v
retrieving revision 1.59
diff -u -p -r1.59 uvm_amap.c
--- uvm/uvm_amap.c      21 Aug 2015 16:04:35 -0000      1.59
+++ uvm/uvm_amap.c      26 Feb 2016 13:35:02 -0000
@@ -154,6 +154,7 @@ amap_init(void)
        /* 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_sethiwat(&uvm_amap_pool, 4096);
 }
 
Index: uvm/uvm_anon.c
===================================================================
RCS file: /cvs/src/sys/uvm/uvm_anon.c,v
retrieving revision 1.44
diff -u -p -r1.44 uvm_anon.c
--- uvm/uvm_anon.c      21 Aug 2015 16:04:35 -0000      1.44
+++ uvm/uvm_anon.c      26 Feb 2016 13:35:02 -0000
@@ -50,6 +50,7 @@ uvm_anon_init(void)
 {
        pool_init(&uvm_anon_pool, sizeof(struct vm_anon), 0, 0,
            PR_WAITOK, "anonpl", NULL);
+       pool_setipl(&uvm_anon_pool, IPL_NONE);
        pool_sethiwat(&uvm_anon_pool, uvmexp.free / 16);
 }
 
Index: uvm/uvm_aobj.c
===================================================================
RCS file: /cvs/src/sys/uvm/uvm_aobj.c,v
retrieving revision 1.80
diff -u -p -r1.80 uvm_aobj.c
--- uvm/uvm_aobj.c      21 Aug 2015 16:04:35 -0000      1.80
+++ uvm/uvm_aobj.c      26 Feb 2016 13:35:02 -0000
@@ -799,9 +799,11 @@ uao_init(void)
         */
        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);
 }
 
 /*
Index: uvm/uvm_map.c
===================================================================
RCS file: /cvs/src/sys/uvm/uvm_map.c,v
retrieving revision 1.205
diff -u -p -r1.205 uvm_map.c
--- uvm/uvm_map.c       16 Dec 2015 14:22:21 -0000      1.205
+++ uvm/uvm_map.c       26 Feb 2016 13:35:02 -0000
@@ -2817,11 +2817,13 @@ 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_VM);
        pool_sethiwat(&uvm_map_entry_pool, 8192);
 
        uvm_addr_init();

Reply via email to