]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
MFV r337171:
authorAlexander Motin <mav@FreeBSD.org>
Thu, 2 Aug 2018 20:18:49 +0000 (20:18 +0000)
committerAlexander Motin <mav@FreeBSD.org>
Thu, 2 Aug 2018 20:18:49 +0000 (20:18 +0000)
commit0485d5cba8392a27b5f65cd03a04065122618f66
treeefb261c5f42eb819d8d32fdf924ff17a22241436
parentac0d64958897d94e333dd5b2bc4edc55ce30fe59
parentfdbc73edd4773676e7f10c7917962645f1501f3a
MFV r337171:
9464 txg_kick() fails to see that we are quiescing, forcing transactions
to their next stages without leaving them accumulate changes

Ideally we would like txg_kick() to get triggered only when we are sure
that we are not syncing AND not quiescing any txg. This way we can kick
an open TXG to the quiescing state when we are sure that there is nothing
going on and we would benefit from the different states running
concurrently.

illumos/illumos-gate@fa41d87de9ec9000964c605eb01d6dc19e4a1abe

Reviewed by: Matt Ahrens <matt@delphix.com>
Reviewed by: Brad Lewis <brad.lewis@delphix.com>
Reviewed by: Andriy Gapon <avg@FreeBSD.org>
Approved by: Dan McDonald <danmcd@joyent.com>
Author:     Serapheim Dimitropoulos <serapheim@delphix.com>
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_tx.c
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/txg_impl.h
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/txg.c