mirror_zfs/module
Kevin Jin 65d10bd87c
Fix short-lived txg caused by autotrim
Current autotrim causes short-lived txg through:

1. calling txg_wait_synced() in metaslab_enable()
2. calling txg_wait_open() with should_quiesce = true

This patch addresses all the issues mentioned above.

A new cv, vdev_autotrim_kick_cv is added to kick autotrim activity.
It will be signaled once a txg is synced so that it does not change 
the original autotrim pace. Also because it is a cv, the wait is 
interruptible which speeds up the vdev_autotrim_stop_wait() call.

Finally, combining big zfs_txg_timeout, txg_wait_open() also causes
delay when exporting a pool.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: jxdking <lostking2008@hotmail.com>
Issue #8993
Closes #12194
2023-03-28 08:43:41 -07:00
..
avl Suppress Clang Static Analyzer false positive in the AVL tree code. 2023-03-08 13:51:21 -08:00
icp Remove unused Edon-R variants 2023-03-14 15:59:58 -07:00
lua x86 asm: Replace .align with .balign 2023-01-24 09:04:39 -08:00
nvpair nvpair: Constify string functions 2023-03-14 15:25:50 -07:00
os Additional limits on hole reporting 2023-03-28 08:19:03 -07:00
unicode Illumos #15286: do_composition() needs sign awareness 2023-01-05 11:16:21 -08:00
zcommon Drop lying to the compiler in the fletcher4 code 2023-03-24 10:29:19 -07:00
zfs Fix short-lived txg caused by autotrim 2023-03-28 08:43:41 -07:00
zstd Resolve WS-2021-0184 vulnerability in zstd 2023-02-02 15:12:51 -08:00
.gitignore FreeBSD: Ignore symlink to i386 includes 2022-08-02 16:34:23 -07:00
Kbuild.in Implementation of block cloning for ZFS 2023-03-10 11:59:53 -08:00
Makefile.bsd Implementation of block cloning for ZFS 2023-03-10 11:59:53 -08:00
Makefile.in autoconf: use include directives instead of recursing down lib 2022-05-10 10:18:11 -07:00