freebsd-skq/sys
Warner Losh 7381bbee29 cam: Run all XPT_ASYNC ccbs in a dedicated thread
Queue all XPT_ASYNC ccb's and run those in a new cam async thread. This thread
is allowed to sleep for things like memory. This should allow us to make all the
registration routines for cam periph drivers simpler since they can assume they
can always allocate memory. This is a separate thread so that any I/O that's
completed in xpt_done_td isn't held up.

This should fix the panics for WAITOK alloations that are elsewhere in the
storage stack that aren't so easy to convert to NOWAIT. Additional future work
will convert other allocations in the registration path to WAITOK should
detailed analysis show it to be safe.

Reviewed by: chs@, rpokala@
Differential Revision:	https://reviews.freebsd.org/D29210
2021-03-12 13:29:42 -07:00
..
amd64 x86: Update some stale comments in cpu_fork() and cpu_copy_thread(). 2021-03-12 09:48:49 -08:00
arm mvebu_gpio: Fix settings of gpio pin direction. 2021-03-07 11:41:30 +01:00
arm64 arm64: Fix COMPAT_FREEBSD32. 2021-03-10 19:06:42 +01:00
bsm Add aio_writev and aio_readv 2021-01-02 19:57:58 -07:00
cam cam: Run all XPT_ASYNC ccbs in a dedicated thread 2021-03-12 13:29:42 -07:00
cddl Handle functions that use a nop in the arm64 fbt 2021-03-03 14:18:03 +00:00
compat linux(4): make getcwd(2) return ERANGE instead of ENOMEM 2021-03-12 15:31:45 +00:00
conf kern.mk: fix -Wno-error style to fix build with Clang 12 2021-03-10 17:34:35 -05:00
contrib Fix dpdk/ldradix fib lookup algorithm preference calculation. 2021-03-07 22:17:53 +00:00
crypto armv8crypto: fix AES-XTS regression introduced by ed9b7f44 2021-03-07 12:03:47 -08:00
ddb ddb: just move cursor when the lexer backs up 2021-02-24 15:56:16 -08:00
dev ccr: Disable requests on port 1 when needed to workaround a firmware bug. 2021-03-12 10:59:35 -08:00
dts Remove DTS files for arm boards we don't support 2021-01-27 10:02:01 +00:00
fs null_vput_pair(): release use reference on dvp earlier 2021-03-12 13:31:08 +02:00
gdb Use atomic loads/stores when updating td->td_state 2021-02-18 14:02:48 +00:00
geom gmirror: Pre-allocate the timeout event structure 2021-03-11 15:45:15 -05:00
gnu Remove the old dts imported tree. 2021-01-15 20:09:55 +01:00
i386 x86: Update some stale comments in cpu_fork() and cpu_copy_thread(). 2021-03-12 09:48:49 -08:00
isa Move back the isa non-PNP driver deadline to FreeBSD 14. 2021-03-08 16:00:23 -07:00
kern Fetch the sigfastblock value in syscalls that wait for signals 2021-03-12 18:14:17 +00:00
kgssapi opencrypto: Introduce crypto_dispatch_async() 2021-02-08 09:19:19 -05:00
libkern Restore the augmented strlen commentary 2021-02-08 19:15:21 +00:00
mips [ar71xx] Fix routerstation / routerstation pro redboot FIS probing 2021-02-25 13:14:55 -08:00
modules Implement basic support for allocating memory from a specific numa node 2021-03-09 21:01:47 +01:00
net pf: Fully remove interrupt events on vnet cleanup 2021-03-12 12:12:43 +01:00
net80211 net80211: ratectl header guard against multiple inclusions 2021-03-07 17:35:58 +00:00
netgraph netgraph/ng_bridge: Add counters for the first link, too 2021-02-10 19:05:37 +01:00
netinet Don't pass RFPROC to kproc_create(), it is redundant. 2021-03-12 09:48:10 -08:00
netinet6 Flush remaining routes from the routing table during VNET shutdown. 2021-03-10 21:10:14 +00:00
netipsec Revert "SO_RERROR indicates that receive buffer overflows should be handled as errors." 2021-02-08 22:32:32 +00:00
netpfil pf: Fully remove interrupt events on vnet cleanup 2021-03-12 12:12:43 +01:00
netsmb
nfs
nfsclient
nfsserver
nlm
ofed ofed: quiet gcc -Wint-in-bool-context 2021-02-24 15:56:16 -08:00
opencrypto ktls: Fix non-inplace TLS 1.3 encryption. 2021-03-10 11:07:40 -08:00
powerpc SPDX: Spell 4 clause BSD license correctly 2021-03-11 14:17:54 -07:00
riscv riscv: fix errors in some atomic type aliases 2021-03-04 16:59:58 -04:00
rpc nfs-over-tls: handle res.gid.gid_val correctly for memory allocation 2021-01-12 13:59:52 -08:00
security Add a comment on why the call to mac_vnode_relabel() might be in the wrong 2021-02-27 16:25:26 +00:00
sys Set TDP_KTHREAD before calling cpu_fork() and cpu_copy_thread(). 2021-03-12 09:48:20 -08:00
teken loader: implement framebuffer console 2021-01-02 21:41:36 +02:00
tests Enable running fib tests inside vnet jail. 2021-01-17 20:32:26 +00:00
tools syscalls.master: Add a new syscall type: RESERVED 2021-01-26 18:27:44 +00:00
ufs softdep_unmount: assert that no dandling dependencies are left 2021-03-12 13:31:08 +02:00
vm uma: allow uma_zfree_pcu(..., NULL) 2021-03-12 12:12:35 +01:00
x86 x86: tsc: deprioritize TSC on VirtualBox 2021-03-08 14:43:06 -06:00
xdr
xen xen: remove .swp file from public headers 2021-01-11 18:14:11 +01:00
Makefile