These are only ever used from system call implementation and therefore never from interrupt context.
ok? Index: sys/compat/linux/linux_futex.c =================================================================== RCS file: /cvs/src/sys/compat/linux/linux_futex.c,v retrieving revision 1.16 diff -u -p -r1.16 linux_futex.c --- sys/compat/linux/linux_futex.c 20 Aug 2014 06:03:20 -0000 1.16 +++ sys/compat/linux/linux_futex.c 3 Sep 2015 20:53:02 -0000 @@ -415,10 +415,10 @@ futex_pool_init(void) DPRINTF(("Inside futex_pool_init()\n")); if (!futex_pool_initialized) { - pool_init(&futex_pool, sizeof(struct futex), 0, 0, PR_DEBUGCHK, - "futexpl", &pool_allocator_nointr); + pool_init(&futex_pool, sizeof(struct futex), 0, 0, + PR_WAITOK | PR_DEBUGCHK, "futexpl", NULL); pool_init(&futex_wp_pool, sizeof(struct waiting_proc), 0, 0, - PR_DEBUGCHK, "futexwppl", &pool_allocator_nointr); + PR_WAITOK | PR_DEBUGCHK, "futexwppl", NULL); futex_pool_initialized = 1; } }