mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2024-11-17 01:51:00 +03:00
cc38691534
When stack space is tight, the stream is written to its target on a separate taskq thread to make sure there's enough stack space to complete it. This has always used an IO taskq, but that doesn't really make sense for it, and moving it onto a regular taskq lets us get rid of spa_taskq_dispatch_sync(), which is not used anywhere else. Stream writes may block for a long time depending on what the target is, and we have no way of discovering this, so we can't risk using the system taskq, as there may be many tens of sends in progress. Instead, we create a dedicated taskq thread for each send writer to run on, and clean it up when it's done. Sponsored-by: Klara, Inc. Sponsored-by: Wasabi Technology, Inc. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: Alexander Motin <mav@FreeBSD.org> Signed-off-by: Rob Norris <rob.norris@klarasystems.com> Closes #16151 |
||
---|---|---|
.. | ||
avl | ||
icp | ||
lua | ||
nvpair | ||
os | ||
unicode | ||
zcommon | ||
zfs | ||
zstd | ||
.gitignore | ||
Kbuild.in | ||
Makefile.bsd | ||
Makefile.in |